2 回答

TA貢獻1825條經(jīng)驗 獲得超6個贊
正如評論中提到的,我還建議使用CompletableFuture. 您所描述的要求的一個非常基本的示例可能如下所示:
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)該讓我們了解這是如何運作的。

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