l108103t
Cirfe
2015-09-17 13:10
采纳率: 35.1%
浏览 4.6k

linux多线程编程中如何等待过个线程退出

linux多线程编程中,如果线程A创建了线程B,我知道用pthread__ join可以令线程A
阻塞然后等待线程B的退出。如果线程A创建了三个线程B,C,D,执行完的先后顺序不知。想让A必须等待三个线程都退出后再退出,应该怎么做?
连用pthread__join三次吗???但是第一次用了pthread__join后,A不就阻塞了吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • devmiao
    devmiao 2015-09-18 00:23
    点赞 评论
  • zuishikonghuan
    zuishikonghuan 2015-09-18 05:17

    既然等待3个线程都退出,这样做应该是可以的,反正你不在乎谁先退出的,比如依次等待abc,阻塞了,a处理完,主线程解除阻塞状态再等待b,然后是c,这个思路我曾经在Windows下测试过(用好几个Windows提供的WaitForSingleObject等待多个线程),是可以的,Linux应该也可以

    点赞 评论
  • l108103t
    Cirfe 2015-09-19 02:21

    有没有那种方法,可以让我知道目前是哪个线程退出了。比如,a线程退出了,我在主线程里能否获知这个消息?

    点赞 评论
  • q3733353520
    点赞 评论

相关推荐