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

質問編集履歴

1

説明の修正

2021/02/17 04:29

投稿

nankoko
nankoko

スコア20

title CHANGED
File without changes
body CHANGED
@@ -1,24 +1,24 @@
1
- await t1は問題ないですが、await t2は止まってし
1
+ t1も、t2も同じタスクですが、t2は処理が止まっままConsole.WriteLine("goal");まで到達できません
2
+ t1と、t2では何が違うのでしょうか?
2
3
 
3
- どちらも同じTaskですが、
4
- どうしてt2は駄目で、t1は問題なく処理されるのでしょうか?
5
-
6
4
  ```ここに言語を入力
7
5
  using System;
8
6
  using System.Threading;
9
7
  using System.Threading.Tasks;
10
8
 
11
9
  class Program {
12
- static async Task Main(string[] args) {
10
+ static void Main(string[] args) {
13
-
11
+ Async();
12
+ Console.Read();
13
+ }
14
+ static async Task Async() {
14
- Task t1 = Task.Delay(1000);
15
+ Task t1 = Task.Delay( 999);
15
- Task t2 = new Task( () => Thread.Sleep(1000));
16
+ Task t2 = new Task(() => Thread.Sleep( 999));
16
-
17
+
17
18
  await t1; //OK
18
- //await t2; //NG
19
+ await t2; //NG
20
+ Console.WriteLine("goal");
21
+ }
19
22
 
20
- Console.WriteLine("main");
21
- Console.Read();
22
- }
23
23
  }
24
24
  ```