2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
正如評(píng)論中提到的,我還建議使用CompletableFuture. 您所描述的要求的一個(gè)非?;镜氖纠赡苋缦滤荆?/p>
final Runnable runnable1 = ...;
final Runnable runnable2 = ...;
CompletableFuture<Void> future1 = CompletableFuture.runAsync(runnable1);
CompletableFuture<Void> future2 = CompletableFuture.runAsync(runnable2);
CompletableFuture.allOf(future1, future2).get(); // waits for both runnables to finish
您可能想為此示例添加更多/一些異常處理。但它應(yīng)該讓我們了解這是如何運(yùn)作的。

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以考慮使用 Java?CompletableFuture來(lái)實(shí)現(xiàn)該目標(biāo)。
使用其諸如SupplyAsync或runAsync之類的函數(shù),您可以啟動(dòng)子線程并最終連接它們各自的結(jié)果?;蛘吣梢院?jiǎn)單地讓主線程等待,直到后續(xù)線程完成。
最近,我設(shè)法使用同一個(gè)類實(shí)現(xiàn)了一個(gè)示例分散-聚集函數(shù)。
添加回答
舉報(bào)