如果你不想让pthread_join阻塞你的进程,那么请调用pthread_detach
来源:互联网 发布:绝望先生知乎 编辑:程序博客网 时间:2024/05/10 08:52
转发自:http://baike.baidu.com/view/4915289.htm
创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid)
但是调用pthread_join(pthread_id)后,如果该线程没有运行结束,调用者会被阻塞,在有些情况下我们并不希望如此,比如在Web服务器中当主线程为每个新来的链接创建一个子线程进行处理的时候,主线程并不希望因为调用pthread_join而阻塞(因为还要继续处理之后到来的链接),这时可以在子线程中加入代码
pthread_detach(pthread_self())
或者父线程调用
pthread_detach(thread_id)(非阻塞,可立即返回)
这将该子线程的状态设置为detached,则该线程运行结束后会自动释放所有资源。
0 0
- 如果你不想让pthread_join阻塞你的进程,那么请调用pthread_detach
- 如果你不想让pthread_join阻塞你的进程,那么请调用pthread_detach
- 如果你是计算机专业的在校大学生,而且想当程序员,那么请往下看
- 如果不想让别人玩你电脑的时候,就……
- 不想让你哭
- pthread_join和pthread_detach---线程调用
- pthread_detach和pthread_join的用法
- pthread_join和pthread_detach的区别
- pthread_join和pthread_detach的用法
- pthread_join和pthread_detach的作用
- pthread_join和pthread_detach的作用
- pthread_join和pthread_detach的用法
- 如果你不想做某些事情,那就找个对象吧, 让对象代你做!
- 如果不爱,请收起你的暧昧!
- ❤如果你不想分手,想一直走一辈子。请注意以下这些~·
- ExtTag,如果你不想写extjs那么麻烦的代码可以尝试使用html方式的方法来创建extjs控件.
- 如果有一本书是你入行几年,偶然读到,发现他写的都是你的血泪史,那么请推荐给我吧
- 如果你不想一辈子做工程师
- coj1098: Happy watering
- 设置cell间距
- iOS指定页面旋转
- Monkey用法示例
- 2016年应该使用SQLite的5大原因
- 如果你不想让pthread_join阻塞你的进程,那么请调用pthread_detach
- C语言通过逻辑运算(与或非)实现加法
- Powershell 提权框架-Powerup
- Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
- 数据持久化
- * 演示preparedStatment的使用crud
- [Leetcode 226] Invert Binary Tree
- WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。
- NSPredicate iOS中非常强大的过滤器