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