您可以使用Task.运行将cpu绑定的工作移到后台线程
本文关键字:工作 线程 后台 绑定 cpu 可以使 Task 运行 | 更新日期: 2023-09-27 18:16:28
从msdn,
您可以使用Task。
运行将cpu绑定的工作移到后台线程。
我的问题是,还有其他选择吗?如果我想使用await
关键字,我必须返回Task所以我必须使用Task.Run
public static Task<int> LongProcess()
{
return Task.Run<int>(() =>
{
//Long running
return 5;
});
}
public async static void CallProcess()
{
int a = await LongProcess();
}
上面的代码不是使用await的唯一选项吗?如果没有,能否提供其他选择?如果我不使用任务。运行,为什么我需要async/await?
这不是只是 CPU密集型工作。更常见的是,在等待文件系统、数据库或网络操作完成时,会锁定线程的I/O工作将使用async/await。