pthread_join 循环join多个线程,为什么主线程不会在第一个处挂起,而是都join后挂起

如上,一直都困扰我,求详细点解答... 如上,一直都困扰我,求详细点解答 展开
 我来答
creater2012
2012-09-15 · TA获得超过156个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:154万
展开全部
你理解错误了,主线程是在第一个线程处挂起。
比如有:
pthread_join(1,NULL);
pthread_join(2,NULL);

pthread_join(3,NULL);

pthread_join(4,NULL);

pthread_join(5,NULL);

实际上主线程在pthread_join(1,NULL);这里就挂起了,在等待1号线程结束后再等待2号线程。

你的想法可能是,3,4,5比1,2先结束的情况。主线程还是在等待1,2结束后,发现3,4,5其实早已经结束了,就会回收3,4,5的资源,然后主线程再退出。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式