ITPub博客

首页 > 数字化转型 > ERP > pthread_detach

pthread_detach

原创 ERP 作者:sgy618 时间:2011-01-27 09:36:28 0 删除 编辑
pthread_detach[@more@]创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid)
  但是调用pthread_join(pthread_id)后,如果该线程没有运行结束,调用者会被阻塞,在有些情况下我们并不希望如此,比如在Web服务器中当主线程为每个新来的链接创建一个子线程进行处理的时候,主线程并不希望因为调用pthread_join而阻塞(因为还要继续处理之后到来的链接),这时可以在子线程中加入代码
  pthread_detach(pthread_self())
  或者父线程调用
  pthread_detach(thread_id)(非阻塞,可立即返回)
  这将该子线程的状态设置为detached,则该线程运行结束后会自动释放所有资源。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23168012/viewspace-1045248/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 网络--------杂记
请登录后发表评论 登录
全部评论

注册时间:2010-01-12

  • 博文量
    104
  • 访问量
    396307