您是否必须将Task.Run放入一种使其异步的方法中?

我试图以最简单的形式理解异步等待。为了这个示例,我想创建一个非常简单的方法,将两个数字相加,当然,这根本没有处理时间,这只是在此处举例说明的问题。


例子1

private async Task DoWork1Async()

{

    int result = 1 + 2;

}

例子2

private async Task DoWork2Async()

{

    Task.Run( () =>

    {

        int result = 1 + 2;

    });

}

如果我等待DoWork1Async(),代码将同步还是异步运行?


是否需要包装同步代码Task.Run以使该方法可以等待和异步,以免阻塞UI线程?


我试图弄清楚我的方法是a Task还是return Task<T>,是否需要包装代码Task.Run以使其异步。


我确定是个愚蠢的问题,但我在网上看到的例子是人们在等待没有异步且没有包装在Task.Run或中的代码StartNew。


偶然的你
浏览 935回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP