为了对异步编程和
await
有一些扎实的基础理解,我想知道在多线程、执行顺序和时间方面,这两个代码片段之间的区别是什么:
This:
public Task CloseApp()
{
return Task.Run(
()=>{
// save database
// turn off some lights
// shutdown application
});
}
相对于这个:
public async Task CloseApp()
{
await Task.Run(
()=>{
// save database
// turn off some lights
// shutdown application
});
}
如果我在这个程序中调用它:
private async void closeButtonTask()
{
// Some Task 1
// ..
await CloseApp();
// Some Task 2
// ..
}