Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
async Task CalcAsync()
{
var aArg1 = await AddAsync(1, 2, 2000);
var aArg2 = await AddAsync(3, 4, 2000);
var aRes = MultiplyAsync(aArg1, aArg2, 1000);
Log($"{aArg1} * {aArg2} = {aRes}");
}Управление передастся механизмом сообщений или в другом потоке — настраивается в окружении
Все это выглядит как Task.Result, но были упомянуты какие-то сообщения..
SynchronizationContext.Post — это вполне себе сообщение, а именно так работает постановка continuation на определенный контекст (по умолчанию в await это включено).
Эмуляция async/await в Delphi