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

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

> 1> Task.Run(async()= {…}).
> 2>只是调用AAA();

和AAA应该看起来像

async void AAA()
{
...
}

> 3> Device.InvokeMainThread(async()=> {…});

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

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

和option2和3一样吗?

解决方法:

>在线程池线程上执行AAA.
>在调用线程上执行AAA.
>在主线程上执行AAA.

顺便说一句,您应该avoid async void methods.

上一篇:c#-xamarin中没有HttpClient


下一篇:C#-使用Xamarin将数据从iPhone传输到Apple Watch