pthread_exit()和exit()之间的区别?

时间:2012-06-22 15:48:29

标签: c pthreads

pthread_exit()exit()之间有什么区别?

4 个答案:

答案 0 :(得分:6)

你读过手册吗?

exit()执行正常的程序终止,而pthread_exit()会终止调用线程。

答案 1 :(得分:2)

pthread_exit终止一个帖子。每the docs

  

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

另一方面,

exit确实这样做了。

答案 2 :(得分:1)

差异:

pthread_exit():终止一个线程 - 无论其工作是否完成 exit()执行整个过程的正常程序终止。

答案 3 :(得分:0)

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