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

回答編集履歴

1

Task/非同期ではなく変数の生存期間に対する問題と認識を改めた上で一部撤回修正

2021/01/30 04:35

投稿

tor4kichi
tor4kichi

スコア773

answer CHANGED
@@ -2,8 +2,10 @@
2
2
 
3
3
  `Task.Run(() => ...)`が実行された時点で別スレッドでの処理が開始され、`Main()`が動作しているスレッドではない別のスレッドで非同期的に`Console.WriteLine(i)`が実行されます。
4
4
 
5
- `Task.Run`で非同期処理させた内容を待機するは`async/await`を利用することで非同期処を同期的に扱うことができます。
5
+ [追記]質問の方にTask/非同期以前変数の生存期間に対する理解不足あると認識できせんでした。以下の回答は取り消したいと思います。
6
6
 
7
+ ~~`Task.Run`で非同期処理させた内容を待機するには`async/await`を利用することで非同期処理を同期的に扱うことができます。~~
8
+
7
9
  ```
8
10
  class prog {
9
11
 
@@ -17,6 +19,6 @@
17
19
  }
18
20
  ```
19
21
 
20
- というように非同期での出力処理を`await`で待機させることで0~5まで順番に出力させられます。
22
+ ~~というように非同期での出力処理を`await`で待機させることで0~5まで順番に出力させられます。~~
21
23
 
22
- 参考: [async および await を使用した非同期プログラミング](https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/async/)
24
+ ~~参考: [async および await を使用した非同期プログラミング](https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/async/)~~