工作中遇到一难题,线程池情况下如何保证任务队列中的任务顺序执行?(只有20分 见谅)

wanglovec 2014-10-15 10:48:24
RT,很明显 一般的 线程池 实现中 会对 取任务的 代码加锁,也就是 线程会排队取出任务

但取出任务后 ,任务的执行 就是乱序了。

现在问题来了, 我需要这些任务按顺序执行,也就是先取出的任务 先执行完毕。

该如何实现呢 ?求指教!
...全文
816 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenyi0106 2014-10-16
  • 打赏
  • 举报
回复
鉴于你的需求,这里不建议你用线程池(多线程),用单线程 + 缓冲队列 来处理,这样可以避免很多不必要的锁,效率绝对比你用多线程要高很多
精分患者 2014-10-16
  • 打赏
  • 举报
回复
引用 1 楼 jiangsheng 的回复:
顺序执行那还要线程做什么?线程是并行执行的。 任务之间需要同步的话,那是你在把任务放到线程池之前需要做的事情。
顶楼上,同样的如果是按顺序走,为何不直接弄成单线程的??
mi73nai595 2014-10-16
  • 打赏
  • 举报
回复
虽然不太懂,但是我觉得楼上说的有道理!
蒋晟 2014-10-16
  • 打赏
  • 举报
回复
顺序执行那还要线程做什么?线程是并行执行的。 任务之间需要同步的话,那是你在把任务放到线程池之前需要做的事情。
wanglovec 2014-10-16
  • 打赏
  • 举报
回复
楼上几位说的有道理,我的想法 是提高效率。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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