Part VI: ノンブロッキング I/O¶
概要¶
本章では、C# の async/await を使ったノンブロッキング I/O を学びます。
async/await の基本¶
非同期メソッド¶
public async Task<string> FetchDataAsync(string url)
{
using var client = new HttpClient();
return await client.GetStringAsync(url);
}
複数の非同期操作¶
public async Task<string[]> FetchMultipleAsync(string[] urls)
{
var tasks = urls.Select(url => FetchDataAsync(url));
return await Task.WhenAll(tasks);
}
同期 vs 非同期¶
| 特性 | 同期 | 非同期 |
|---|---|---|
| スレッド | ブロック | 解放 |
| スケーラビリティ | 低 | 高 |
| コード複雑度 | 低 | やや高 |
次のステップ¶
Part VII では、Task と非同期プログラミングを深く学びます。