- 如果线程未分离:线程的终止状态会一直保存,直到另外一个线程对该线程调用pthread_join获取其终止状态,终止状态才会被释放
- 如果线程已经被分离:线程的底层存储资源可以在线程终止时立即被回收
- 在线程被分离后,我们不能用pthread_join函数等待它的终止状态,因为对分离状态的线程调用pthread_join会产生未定义行为
#include <pthread.h>
int pthread_detach(pthread_t tid);
//返回值:成功返回0;否则返回错误编号
- 功能:用来分离线程
- 参数:要分离的线程tid
- 在此处我们是使用pthread_detach函数来设置一个已经运行的线程分离
- 在另一篇文章中,我们也可以设置在创建线程时就将线程设置为分离状态,见:javascript:void(0)