繁体   English   中英

Task.Run()有什么区别,在Xamarin表单上调用异步void AAA()?

[英]What's difference Task.Run() , Calling async void AAA() on Xamarin forms?

据我所知,有三种方法可以调用异步方法。 (我敢肯定还有更多)

  • 1> Task.Run(async () = {...}).
  • 2>仅调用AAA();

和AAA应该看起来像

async void AAA()
{
...
}
  • 3> Device.InvokeMainThread(async () => {...});

我知道如果我使用选项1( Task.run ),进程将在后台线程上运行,而选项3不是。

那选项2呢? 如果我从OnAppearing()调用,它在主线程上?
首先,这样使用没有问题吗?

和option2和3一样吗?

  1. 在线程池线程上执行AAA
  2. 在调用线程上执行AAA
  3. 在主线程上执行AAA

顺便说一句 ,您应该避免使用异步void方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM