Skip to content

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 と非同期プログラミングを深く学びます。


参考資料