您可以使用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?

您可以使用Task.运行将cpu绑定的工作移到后台线程

这不是只是 CPU密集型工作。更常见的是,在等待文件系统、数据库或网络操作完成时,会锁定线程的I/O工作将使用async/await。