執行同步程式碼非同步

如果要非同步執行同步程式碼(例如 CPU 擴充套件計算),可以使用 Task.Run(() => {})。

public async Task DoStuffAsync()
{
    await DoCpuBoundWorkAsync();
}

private async Task DoCpuBoundWorkAsync()
{
    await Task.Run(() =>
    {
        for (long i = 0; i < Int32.MaxValue; i++)
        {
            i = i ^ 2;
        }
    });
}