gpt4 book ai didi

linux - pthread_exit 如何阻止线程在完成分配的任务之前退出?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:41 30 4
gpt4 key购买 nike

pthread_exitreturn 0; 之前放置在 main() 中时确实会阻止线程在完成分配的任务之前退出。

我希望详细了解原因。

我在线程应该处理的函数中放置了一个 while 循环。while 中的条件不满足,但程序终止。当我在 return 0 之前将 pthread_exit 放在 main 中时,while 循环完成了它的任务。因此问题。

操作系统:Linux

最佳答案

使用返回语句从 main() 返回相当于调用 exit() --- 它终止进程,而不等待其他线程完成。

调用 pthread_exit() 只会退出调用它的线程(即使该线程正在运行 main()),因此其他线程将继续运行直到某些线程调用 exit()(或另一个终止进程的函数,例如 abort()),或者每个线程都已退出。

关于linux - pthread_exit 如何阻止线程在完成分配的任务之前退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814555/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com