LinuxC多线程编程第三篇:pthread_join与phread_datach介绍

来源:互联网 发布:端口号 传输层 编辑:程序博客网 时间:2024/06/06 17:07

分类: c/c++ 542人阅读 评论(0)收藏 举报
join多线程编程

     一般情况下,线程终止后,其终止状态一直会保留到其他线程调用pthread_join获取它的状态为止。但是线程也可以设置为detach状态,这样的线程一旦终止就立即回收它占用的所有资源,而不保留终止状态。

注意:

  • 不能对已经detach状态的线程调用pthread_join。
  • 对一个尚未detach的线程调用phread_join或phread_detach都可以把该线程设置为datach,也就是说,不能对同一线程调用两次pthread_join,或者如果已经对一个线程调用了pthread_detach就不能再调用pthread_join了。
  • phtread_join是阻塞式的,需要等待这个线程终止,而phread_datach是不阻塞的,所以可以用phread_datach来销毁终止线程

请看下面演示并看运行过程和结果:

0 0