linux 下面默认 pthread_create 由调用者自己负责子线程的资源回收
当父线程退出时候,子线程也会跟着退出,所以父线程推出的时候要调用pthread_join函数阻塞等待子线程的退出
pthread_detach( tid) 使线程tid 的线程处于分离状态,线程处于分离状态是该线程终止的时候资源被回收,不然的话该终止的子线程会占用系统资源直到父线程调用pthread_join
1 父线程先与子线程终止
此时:
如果子线程已近与父线程分离,如调用pthread_datach ,资源被回收
如果没有分离,资源无法释放
1 子线程先与父线程终止
此时:
如果子线程调用了线程分离函数pthread_detach, 或父线程调用了pthread_join ,资源被释放
如果上面两个都没有调用,资源无法释放
时间: 2024-11-08 03:49:54