7

As far as I know, there are three ways to call async method. (I'm sure there are much more)

  • 1> Task.Run(async () = {...}).
  • 2> Just calling AAA();

and AAA should be looks like

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

I know If I use option 1(Task.run) process will go on background thread and option 3 is not.

What about option 2? It's on main thread if I called from OnAppearing()?
First of all, Is there not any problem to use like that?

And option2 and 3 are same?

jrbedard
  • 3,662
  • 5
  • 30
  • 34
Bright Lee
  • 2,306
  • 2
  • 27
  • 55

1 Answers1

7
  1. Executes AAA on a thread pool thread.
  2. Executes AAA on the calling thread.
  3. Executes AAA on the main thread.

As an aside, you should avoid async void methods.

Charles Mager
  • 25,735
  • 2
  • 35
  • 45