【发布时间】:2017-01-08 09:38:43
【问题描述】:
我有一个多线程多对象系统,其中有一个manager 和多个workers。我需要将workers 与manager 同步,如下所示:
manager做某事,给workers下命令,然后让workers并行运行,相互独立。当他们完成这一轮时,他们必须等待manager 给他们新的任务或命令。只有当所有workers 都完成了他们之前的工作时,manager 才会发布新订单。
我需要使用线程来实现它以避免忙等待。然而,同步令人困惑。
有什么想法吗?
【问题讨论】:
-
我有很多想法;我可以给你一个每日费率。否则,请编写一些代码并找出您遇到的问题;然后在这里发帖寻求帮助。我们不是代码编写服务。提示:查看
CyclicBarrier。 -
@BoristheSpider 我当然不想/不想要代码编写服务。只是一个提示。 CyclicBarrier 解决了这个问题。
-
如果您能描述一下为什么经理只有在所有工人都完成工作后才下达新订单会有所帮助。
-
@Sidias-Korrado 工作人员正在使用共享资源。在分配新订单之前应该释放资源。
标签: java multithreading synchronization