线程安全上的手册页冲突

cha*_*RL_ 5 c linux multithreading posix

我不明白的手册页之间存在冲突。

man 7 pthreads说:

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。