2016-11-18 119 views
-2

我想管理我的线程池工作者。就像队列中有5名工人一样,那么我将如何管理这些工人。假设第一个工人应该在第四个工人之后或在对工人进行一些分类之后运行在java中管理线程池的队列/工作者

我在我的应用程序中使用ThreadPoolExecutor。它按预期工作,但需要管理这些工作人员,这样我的应用程序就可以在我对那些工作人员进行排序时运行。 请给我一些提示或参考。

回答

0

使用线程池的要点是从应用程序中抽象出线程的管理。如果你需要自己管理线程,你基本上是说你想编写自己的线程池。 在这种情况下,使用Executor将无济于事,因为您失去了该级别的控制权。相反,您可能需要自己创建和管理线程。

0

您可以自己管理线程,也可以使用并发原语(例如障碍,信号量等)来控制顺序。检查java.util.concurrent包。例如,第一个工人可以等待信号量或倒数计时器,以使其他工人在某个时刻释放。