Hej, w zasadzie to gdy użyję minimum raz await w metodzie async, to całość jest jakby automatycznie w tasku i nie muszę zamykać ciała w task? Tak mi mówi IDE. Słabo się googluje takie rzeczy. Mam locki i nie chce żeby mi blokowało.
0
1
To prawda. Metoda asynchroniczna (oznaczona przez async) jest asynchroniczna :D
Jeśli wywołujesz coś przez await, to to się wykona asynchronicznie.
Możesz nic nie wywołać, np:
public async Task Foo()
{
a();
b();
c();
}
Wtedy metoda będzie mimo wszystko synchroniczna i async Ci tu niczego nie daje. Dopiero w takiej sytuacji możesz zrobić:
public async Task Foo()
{
await Task.Run(() =>
{
a();
b();
c();
});
}