執行同步程式碼非同步
如果要非同步執行同步程式碼(例如 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;
}
});
}