线程连接的好处

时间:2009-12-25 04:13:43

标签: multithreading pthreads

线程加入有什么好处?如果要加入一个线程来停止线程A直到线程B完成执行,例如(B.join())为什么不使用全局变量来执行此操作?

2 个答案:

答案 0 :(得分:6)

因为join()允许A进入休眠状态并且在B结束之前不消耗CPU时间,并且它还确保B在继续使用A之前已经完全结束。通常它会更有效率。它还避免了创建额外变量的麻烦。

答案 1 :(得分:2)

您希望将pthread_join()pthread_detach()调用使用标记PTHREAD_CREATE_JOINABLE创建的线程的另一个原因是:系统可以在线程终止后回收与该线程关联的所有资源。无法加入或分离可连接线程会导致内存和其他资源泄漏,直到进程结束。