求助,线程的回收

xiazai1978 2010-04-10 07:42:12
情况如下:
主线程每1分钟创建一个新的线程,新线程随机sleep m秒(无法预先估计它到底sleep多少秒),当然,这个m是有限制的,在1-100之间。主线程运行5小时,就会发生线程号耗尽的情况,因为进程内最大的线程数是255.
据我所知,pthread_join是用来回收结束线程的,但是join函数会阻塞主线程,即会等m秒,等待子线程结束以后才能回收。



问题是:
1.有什么办法在不阻塞主线程的情况下,对已经结束的线程进行一次回收么-------或者说最好是在创建线程以后马上执行一个函数,在不阻塞主线程情况下,还能在子线程结束后自动对该线程进行回收?

2.顺便问一下,一个线程能否在结束时就彻底结束自己,而不需要再被回收呢?
...全文
74 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiazai1978 2010-04-11
  • 打赏
  • 举报
回复
多谢楼上,就是说把创建的线程设置为分离属性就可以自动回收了是吧。
  • 打赏
  • 举报
回复
detach
设置分离线程。
deep_pro 2010-04-10
  • 打赏
  • 举报
回复
http://baike.baidu.com/view/400319.htm 中的 线程分离属性

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧