多线程下一个线程等待其他多个线程处理完成的问题

fxmzssy 2018-01-17 05:20:50
初学者 问个问题,请各位帮忙看看
linux下,现在有一个线程A需要等待其他一组线程(比如说5个)B处理完成才能进行处理,但是线程组B处理完成后不会退出,需要等待下一个循环处理,那么线程A可以通过什么方式获得线程组B是否处理完成呢?
想过用信号量或者条件变量,但是信号量和条件变量貌似都是多个线程等一个线程的情况,用全局变量累计貌似比较笨,请问各位大神有没有什么方法?谢谢
...全文
869 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2018-01-17
  • 打赏
  • 举报
回复
引用 2 楼 cfjtaishan 的回复:
用信号量吧,pthread_cond_signal, pthread_cond_wait,为什么不等线程组B都执行完(做一个计数器,B线程组里有多少个线程,计数器就到了线程数就发信号pthread_cond_signal)再发信号呢。
就是把B线程组作为一个整体,等B线程组都执行完,执行完一个计数器加1,等执行完再向A发信号。
自信男孩 2018-01-17
  • 打赏
  • 举报
回复
用信号量吧,pthread_cond_signal, pthread_cond_wait,为什么不等线程组B都执行完(做一个计数器,B线程组里有多少个线程,计数器就到了线程数就发信号pthread_cond_signal)再发信号呢。
赵4老师 2018-01-17
  • 打赏
  • 举报
回复
《Windows核心编程》

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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