8

pthread_exit()和有什么区别exit()

4

4 回答 4

7

你读过手册页吗?

exit()执行正常的程序终止,同时pthread_exit()杀死调用线程。

于 2012-06-22T15:50:34.347 回答
2

区别:

pthread_exit():终止一个线程——不管它的工作是否完成,exit() 对整个进程执行正常的程序终止。

于 2015-01-26T21:14:48.170 回答
2

pthread_exit终止一个线程。根据文档

线程终止不会释放任何应用程序可见的进程资源,包括但不限于互斥锁和文件描述符,也不会执行任何进程级别的清理操作,包括但不限于调用任何可能存在的 atexit() 例程。

exit,另一方面,确实这样做了。

于 2012-06-22T15:52:42.847 回答
0

线程是使用 pthread_create() 创建的。然后每个线程可以使用 pthread_exit() 独立终止。(如果任何线程调用 exit(),则所有线程立即终止。)除非线程已被标记为已分离(例如,通过调用 pthread_detach()),否则它必须由另一个线程使用 pthread_join() 加入,这将返回加入线程的终止状态。

于 2020-04-20T19:18:47.130 回答