pthread_exit做了什么,以便main应该调用它来防止其他线程过早死亡

时间:2013-05-18 20:21:14

标签: c pthreads

http://man7.org/linux/man-pages/man3/pthread_exit.3.html

上面的手册页没有说明为什么main()应该通过调用pthread_exit来终止,它只是说它应该。任何意见将不胜感激。

2 个答案:

答案 0 :(得分:2)

执行main的线程很特殊,从中返回相当于整个过程调用exit。所以这会杀死所有其他线程。

如果你只是用pthread_exit终止它,那么进程会一直运行,直到所有其他线程以这种或那种方式终止。

让其他线程有时间完成工作的另一种方法是加入通过pthread_join创建的所有线程。

答案 1 :(得分:0)

函数pthread_exit()允许其他线程继续执行,其中exit(3)将终止每个线程。