由于缺乏公平性,使用协调器类来避免饥饿失败

时间:2018-12-01 15:35:50

标签: java multithreading synchronization starvation

我正在尝试实现一个包含Supervisor类和由该类监督的大量作品的程序。让我们有1个主管和125个工人(主管和工人都是线程),只要主管班级需要,工人就可以工作。它将共享的“状态”设置为“完成”。

我的问题是饥饿。我的解决方案是使用“ Orchestrator”类在2之间进行交换。

FileUpload

当工人想做东西时,它将执行查询,如果是轮到它,则它将执行其工作并将轮到主管。主管也是如此。我的问题是主管线程永远无法执行查询,也无法设置工作人员的时间。...

P.S。我只使用两个值作为转弯值,1个用于主管,0个用于工人,这两个值都在界面内定义,因此我可以决定位置。

0 个答案:

没有答案