C#のasyncとawaitによる非同期プログラミング
このレッスンでは、asyncとawaitで非同期のコードを書き、プログラムを止めずに処理の完了を待ちます。
はじめに
ファイルの読み込み、APIの呼び出し、タイマーの待機のように時間のかかる操作を待つとき、非同期(asynchronous)プログラミングを使えば、待っている間に処理の流れが止まりません。C#の2つのキーワードasyncとawaitを使うと、非同期のコードを普通の順番どおりのコードと同じくらい読みやすく書けます。
Mainメソッドはstatic async Taskで宣言されています。await Task.Delay(20)は、実行中のスレッドを止めずに、メソッドを20ミリ秒だけ一時停止します。待機が終わると、メソッドはその位置から実行を再開し、Async work completeと表示します。
実行できる C# の例
C#
Program.cs
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
await Task.Delay(20);
Console.WriteLine("Async work complete");
}
}
Async work completeデバッガーで練習する
大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
すべてのチャレンジ