gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 23:12:59 26 4
gpt4 key购买 nike

据我所知,调用async方法有3种方式。 (我敢肯定还有更多)

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

AAA应该是这样的

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

我知道如果我使用选项 1(Task.run) 进程将继续后台线程,而选项 3 则不会。

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

选项2和3一样吗?

最佳答案

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

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

关于c# - Task.Run() 和在 Xamarin 表单上调用 async void AAA() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com