поэтому у меня есть асинхронный метод, заключенный в Task.Run примерно так:
//SynchronisationContext = UI Thread
await Task.Run(async =>
{
for (int i = 0; i < 100; i++)
{
var res = ComplicatedCalulation(); //Takes about 1 second
await ThirdPartyLib.WriteToDatabase(res);
}
});
Ожидает ли в приведенном выше коде асинхронный лямбда-кодили он просто ждет начала Task
(т. е. немедленного возвращения)
Я знаю с Task.Factory.StartNew
правильное использование
await Task.Factory.StartNew<Task>(async => await MyAsyncMethod()).Result
Этотакже верно для Task.Run ?