質問編集履歴
3
問題・課題が明確になるように修正した。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
CompletableFuture.allOf(a, b, c).join(); があ
|
1
|
+
CompletableFuture.allOf(a, b, c).join(); がある場合と無い場合の動作結果の違いを生じさせたい。
|
test
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
###
|
1
|
+
### 前提
|
2
2
|
|
3
3
|
オラクルのページの下記の記述が再現できなくて困っています。
|
4
4
|
https://docs.oracle.com/javase/jp/8/docs/api/java/util/concurrent/CompletableFuture.html
|
5
5
|
> このメソッドの用途の1つは、CompletableFuture.allOf(c1, c2, c3).join();のように、プログラムを続行する前に一連の独立したCompletableFutureの完了を待機することです。
|
6
6
|
|
7
|
+
### 問題・課題
|
7
8
|
- [ ] 下記のメソッド allOfOff() において、なぜ CompletableFuture.allOf(a, b, c).join(); が無い場合でも一番時間のかかるbの表示が最後にならないのでしょうか。
|
8
9
|
- [ ] CompletableFuture.allOf(a, b, c).join(); がある場合と無い場合の動作結果の違いを生じさせることは可能でしょうか。
|
9
10
|
|
2
paiza.ioへのリンクを貼った
test
CHANGED
File without changes
|
test
CHANGED
@@ -86,6 +86,7 @@
|
|
86
86
|
|
87
87
|
#### 動作環境
|
88
88
|
手元のJavaとpaiza.ioにて当該の挙動を確認しています。
|
89
|
+
https://paiza.io/projects/cvHXvQv0qM4pLd7falyxeg
|
89
90
|
|
90
91
|
#### 手元のJavaのバージョン
|
91
92
|
bash-4.2# javac -version
|
1
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -37,7 +37,7 @@
|
|
37
37
|
var b = CompletableFuture.supplyAsync(createSupplier("bです。", 200));
|
38
38
|
var c = CompletableFuture.supplyAsync(createSupplier("cです。", 150));
|
39
39
|
|
40
|
-
// これが
|
40
|
+
// これがあってもなくても同じなのが不思議
|
41
41
|
CompletableFuture.allOf(a, b, c).join();
|
42
42
|
|
43
43
|
System.out.println(a.join());
|
@@ -55,7 +55,7 @@
|
|
55
55
|
var b = CompletableFuture.supplyAsync(createSupplier("bです。", 200));
|
56
56
|
var c = CompletableFuture.supplyAsync(createSupplier("cです。", 150));
|
57
57
|
|
58
|
-
// これが
|
58
|
+
// これがあってもなくても同じなのが不思議
|
59
59
|
// CompletableFuture.allOf(a, b, c).join();
|
60
60
|
|
61
61
|
System.out.println(a.join());
|