据我了解,当您需要终止具有返回值的线程时, pthread_exit() 完全等于 return 。当人们可以使用一致的方式(即返回)来完成工作时,为什么 Pthread 定义这样一个重复的接口?
我想到的两个原因:pthread_exit
允许您从调用堆栈中的任何深度退出线程。
如果要调用主线程的 TLS 密钥的自由函数,则必须在主线程上调用。这里也是:“任何已被推送但尚未弹出的取消清理处理程序都会以与推送和执行相反的顺序弹出。在执行所有取消清理处理程序后,如果线程有任何线程特定的数据,将以未指定的顺序调用适当的析构函数...隐式调用线程退出当除首次调用 main() 的线程以外的线程从用于创建它的启动例程返回时,将创建 ()。函数的返回值充当线程的退出状态。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)