cha*_*RL_ 5 c linux multithreading posix
我不明白的手册页之间存在冲突。
POSIX.1-2001 和 POSIX.1-2008 要求标准中指定的所有函数都应是线程安全的,但以下函数除外:
并且 exit() 不在线程安全异常列表中。
然而,man 3 exit说:
exit() 函数使用不受保护的全局变量,因此它不是线程安全的。
通过谷歌搜索,似乎exit()线程实际上是不安全的。那么我对手册页的理解有什么问题吗?为什么exit()没有被列为线程不安全man 7 pthreads?
kal*_*ore -1
也许答案就在https://man7.org/linux/man-pages/man3/pthread_exit.3.html
你调用 pthread_exit() 。不是 exit()
最终,当最后一个线程退出时,会为您调用 exit。