c - pthread_exit 做了什么让 main 应该调用它来防止其他线程过早死亡

标签 c pthreads

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

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

最佳答案

执行main的线程比较特殊,从它返回相当于调用了整个进程的exit。所以这会杀死所有其他线程。

如果您只是使用 pthread_exit 终止它,该进程将继续运行,直到所有其他线程以某种方式终止。

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

关于c - pthread_exit 做了什么让 main 应该调用它来防止其他线程过早死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16628590/

相关文章:

c 将多个参数传递给线程

c - 在终止的线程上调用 pthread_cancel() 是否安全?

linux - Pthread 互斥锁 Linux

iphone - C vs 汇编程序 vs NEON 性能

c - C 语言有处理无理数的大型精度库吗?

c - 2个数字的总和,输入错误

c - 为什么 nanosleep() 会增加一个恒定的延迟,我该如何避免呢?

c - 使用 ptrace 停止或杀死进程中的线程?

c - 如何将网格传递给 "void my_func(void *args)"

c - 单车道桥梁问题