多线程并发执行后如何按顺序保存执行结果

qq1303710309 2017-08-11 06:23:31
多个线程执行一段时间不等的操作后(随时增加线程),按启动顺序(启动时得到一个序号)将数据保存到内存中,应该怎么实现?

暂时在执行完毕后循环判断一个变量是否等于当前序号,如果等于,执行保存操作后将变量+1。

但这种方式太耗资源,有其他类似WaitFor类相关的方法吗?
...全文
688 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-08-13
  • 打赏
  • 举报
回复
《Windows核心编程》
ID870177103 2017-08-13
  • 打赏
  • 举报
回复
楼上正解 如果这些线程不是同个线程函数的组,最好分别保存数据,然后你需要的时候再按顺序收集 条件变量可以用于解决几乎所有的等待-继续的设计需求,我建议你去看看
ma100 2017-08-12
  • 打赏
  • 举报
回复
再开一个管理线程, 里面定一个 容器 其他线程写完就往那个容器里放 管理线程循环判断前面的是否完毕

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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