我正在使用ExecutorService來啓動多個線程。JAVA線程併發
- 線程A
- 線程B
- 線程C- 和
- 螺紋d
- ....
- .... 螺紋Ñ
所有線程同時開始。 我正在使用ConcurrentHashMap來存儲線程D將來可以使用的線程A,線程B,線程C的結果。
現在可能發生線程A仍在執行時線d正在尋找從線程A輸出
這適用於這可能是依賴於線d的輸出線程C-
這可能是依賴於任何線程的輸出像螺紋N-1,或螺紋或螺紋ňN- 4等等
什麼可能是最好的辦法來處理這種情況,或使線程A等待,直到其他線程準備就緒輸出
我假設你想讓線程D等待給定的輸出線程A正在產生輸出。 –
就個人而言,我可能會在'A'作爲'A'的一部分完成後啓動'D'。但是,如果我沒有記錯,'未來#GET'被攔截... – MadProgrammer
我MadProgrammer同意,把d睡眠,有一個通知它是這個一個完全有效的方式。 – nevets1219