2016-11-18 120 views
-2

我想管理我的線程池工作者。就像隊列中有5名工人一樣,那麼我將如何管理這些工人。假設第一個工人應該在第四個工人之後或在對工人進行一些分類之後運行在java中管理線程池的隊列/工作者

我在我的應用程序中使用ThreadPoolExecutor。它按預期工作,但需要管理這些工作人員,這樣我的應用程序就可以在我對那些工作人員進行排序時運行。 請給我一些提示或參考。

回答

0

使用線程池的要點是從應用程序中抽象出線程的管理。如果你需要自己管理線程,你基本上是說你想編寫自己的線程池。 在這種情況下,使用Executor將無濟於事,因爲您失去了該級別的控制權。相反,您可能需要自己創建和管理線程。

0

您可以自己管理線程,也可以使用併發原語(例如障礙,信號量等)來控制順序。檢查java.util.concurrent包。例如,第一個工人可以等待信號量或倒數計時器,以使其他工人在某個時刻釋放。