多线程的问题
请问,我在主线程里启动若干个子线程,子线程的个数不定, 
 可能是(6-7左右), 
 现在我想在子线程结束时,用信号通知主线程。 
 主线程收到所有的子线程结束通知后,也继续执行,结束。   
 这样怎么实现,谢谢大家了
------解决方案--------------------一定要用信号吗? 
 pthreadjoin()应该可以吧
------解决方案--------------------int pthread_join( pthread_t tid,  void **status); 
 参数tid是希望等待的线程的线程号,status是指向线程返回值的指针,线程的返回值就是pthread_exit中的value_ptr参数,或者是return语句中的返回值,该函数可用于线程间的同步。
------解决方案--------------------pthread_join只能让主线程同一时刻等待一个线程,如果你等待的线程们结束时没有顺序的话,那么很可能会让主线程死锁。 
 可以用pthread_cond_t来让主线程等待一个条件变量。 
               pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER; 
               pthread_cond_t cond = PTHREAD_COND_INITIALIZER; 
 如主线程 
               pthread_mutex_lock(&mut); 
               while (wait_thread_num> 0) { 
                       pthread_cond_wait(&cond, &mut); 
                       wait_thread_num--; 
               } 
               pthread_mutex_unlock(&mut); 
 被等待线程在线程退出前,调用 
               pthread_mutex_lock(&mut); 
               pthread_cond_broadcast(&cond); 
               pthread_mutex_unlock(&mut);   
 如上所示代码可以很好解决多线程程序,主线程在退出前等待其它线程退出的需求。