2017-02-23 5 views
-2

タスクa、b、c、d、eの5つがあるとします。タスクbとdはEに依存し、5つのタスクはDAGで構成されます。 enter image description hereJavaのスレッド/タスク実行フレームワーク

直感的には、タスクbcdは並列に実行する必要があります。オープンソースのライブラリであれば、これを簡単に達成できますか?

+0

*質問:あなたの例では(http://www.deadcoderising.com/java8-writing-asynchronous-code-with-completablefuture/

を、それがこの方法を使用することができStack Overflowについての話題は、オピニオン回答とスパムを集める傾向があるためです。代わりに、問題を説明し、それを解決するためにこれまでに何が行われているか* – GhostCat

+2

私はDAGを読んでいましたが、後でそれは無関係であることがわかりました。 –

+0

はい、オープンソースのlib:JDKがあります。 Javaオンボード技術で完璧に実行できます。 – Fildor

答えて

1

JDK 1.8ではCompletableFutureが導入されました。スレッドの実行を組み合わせるための流暢なAPIを提供します。書籍、ツール、ソフトウェアライブラリ、チュートリアルや他のオフサイトリソースがオフしているお勧めしますかを見つけるために私たちを求めて

CompletableFuture futurA = CompletableFuture.runAsync(A); 
CompletableFuture futurB = futurA.thenRun(B); 
CompletableFuture futurC = futurA.thenRun(C); 
CompletableFuture futurD = futurA.thenRun(D); 
CompletableFuture.allOf(futureB, futureC, futureD).thenRun(E);