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

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

http://bbs.chinaunix.net/thread-2095380-1-1.html

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

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

http://blog.csdn.net/improveyourself/article/details/6579798