お世話になります。
現在、Taskを使って非同期処理の実装をしようとしていますが、Task.WhenAllがタスクの終了を待ってくれません。
C#
1Private void hoge() 2{ 3 Console.WriteLine("開始"); 4 5 Task task = Task.Run(() => 6 { 7 Console.WriteLine("タスク開始"); 8 System.Threading.Thread.Sleep(3000); 9 Console.WriteLine("タスク終了"); 10 }); 11 12 Task.WhenAll(task); 13 Console.WriteLine("終了"); 14}
上記のように記述したコードを通すと、
出力結果が
開始
終了
タスク開始
タスク終了 (3秒後)
となります。
WhenAllの前にタスク内の処理が走らないのはなぜかわかりますでしょうか。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/09 08:49