我正在處理程序中的多個線程。有一些獨立的線程,一些線程在開始執行之前依賴於其他線程的完成。Executor服務中的依賴線程 - Java
目前,如果它所依賴的仍然是運行的線程,然後等待它的完成我在做這個
for (final String inElementId : inElements)
{
Thread thread = threadsMap.get(inElementId);
if ((thread != null) && thread.interrupted())
{
Thread.currentThread().interrupt();
throw new RuntimeException();
} else {
thread.join();
}
}
因此,每個線程檢查。
我想編寫一個執行程序服務來以系統的方式管理線程。 但我找不到可以檢查依賴項的方法。
如何使用線程池執行程序服務執行此操作,thread B
只應提交一次thread A
已完成執行?或者還有其他更好的方法來管理這些線程嗎?
P.S:也可能首先提交thread B
,但它取決於A
,因此它一直等待,直到thread A
被提交併且它完成執行。
我認爲是不可能的,而不是檢查線程A這樣做了,檢查其中A是應該做的任務完成與否 – dvsakgec