linux pthread pthread_create pthread_join pthread_detach

linux 下面默认 pthread_create 由调用者自己负责子线程的资源回收

当父线程退出时候,子线程也会跟着退出,所以父线程推出的时候要调用pthread_join函数阻塞等待子线程的退出

pthread_detach( tid)  使线程tid 的线程处于分离状态,线程处于分离状态是该线程终止的时候资源被回收,不然的话该终止的子线程会占用系统资源直到父线程调用pthread_join

 

1 父线程先与子线程终止

  此时:

    如果子线程已近与父线程分离,如调用pthread_datach ,资源被回收

       如果没有分离,资源无法释放

1 子线程先与父线程终止

  此时:

    如果子线程调用了线程分离函数pthread_detach, 或父线程调用了pthread_join ,资源被释放

     如果上面两个都没有调用,资源无法释放

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。