質問するログイン新規登録

質問編集履歴

1

結果報告

2019/02/04 07:01

投稿

ElecDove
ElecDove

スコア254

title CHANGED
File without changes
body CHANGED
@@ -40,4 +40,55 @@
40
40
  //ここで数秒待たされる
41
41
  1End
42
42
  2End
43
- ````
43
+ ````
44
+
45
+
46
+ ---
47
+ とりあえずこれで戻り値を拾えましたが会っているのでしょうか…
48
+ ```C#
49
+ static void Main() {
50
+
51
+ fuga2();
52
+
53
+ Console.ReadLine();
54
+ }
55
+
56
+
57
+ static async void fuga2() {
58
+ Console.WriteLine("fuga start");
59
+ var res = new int[2];
60
+
61
+
62
+ var tasks = new List<Task<int>>();
63
+ tasks.Add(Task.Run(() => Heavy("1")));
64
+ tasks.Add(Task.Run(() => Heavy("2")));
65
+ await Task.WhenAll(tasks.ToArray());
66
+
67
+ tasks.ForEach(t => Console.WriteLine(t.Result));
68
+
69
+ Console.WriteLine("fuga end");
70
+ }
71
+
72
+
73
+ static async Task<int> Heavy(string str) {
74
+ Console.WriteLine(str + "Start");
75
+ for (int i = 0; i < 1000000000; i++) ;//重たい処理
76
+ Console.WriteLine(str + "End");
77
+
78
+ return 5; //ダミーデータ
79
+ }
80
+
81
+ ```
82
+
83
+ ```
84
+ fuga start
85
+ 1Start
86
+ 2Start
87
+ //数秒待機
88
+ 2End
89
+ 1End
90
+ 5
91
+ 5
92
+ fuga end
93
+
94
+ ```