質問編集履歴

3

問題・課題が明確になるように修正した。

2023/03/30 09:12

投稿

yuzunoha123
yuzunoha123

スコア28

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へのリンクを貼った

2023/03/30 07:35

投稿

yuzunoha123
yuzunoha123

スコア28

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

誤字修正

2023/03/30 07:34

投稿

yuzunoha123
yuzunoha123

スコア28

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());