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

回答編集履歴

1

Task.Runサンプル追加

2018/03/06 03:09

投稿

sh_akira
sh_akira

スコア380

answer CHANGED
@@ -22,4 +22,19 @@
22
22
  動作をしています。タイマーは別スレッドです。
23
23
  指定時間たつまでメインスレッドは暇です。なのでUIの更新等別の処理を行えます。
24
24
  そして、Taskの状態が完了になったら、awaitはメインスレッドで
25
- 続きの処理(今回はreturn a;)を続行します。
25
+ 続きの処理(今回はreturn a;)を続行します。
26
+
27
+ 追記(2018/03/06 12:08):
28
+ 例えば今回のGetIntValueを別スレッドで実行するには、
29
+ ``` csharp
30
+ private async Task<int> GetintValue()
31
+ {
32
+ return await Task.Run(async () =>
33
+ {
34
+ a++;
35
+ await Task.Delay(100);
36
+ return a;
37
+ });
38
+ }
39
+ ```
40
+ このようにすることで別スレッドで実行されます。