В .NET для этого существовало средство и до async/await, это ThreadPool + SyncronizationContext. Именно последний отвечает за то, чтобы (опять же, цитата)
Конечно) И даже не только это средство. Я и написал об этом в начале, что полный набор инструментов для асинхронного программирования есть во многих языках и давным давно. Но это всё без вскусного синтаксического сахара… )))
Просто применение async/await никакого переключения в исходный поток не делает
Тогда в каком потоке по вашему будет исполняться ProcessResult из этого
private async void Handler(Params prms)
{
var r = await new Task(() => CalcSomething(prms););
ProcessResult(r);
}
примера? Считаем что Handler вызвали из UI потока.
Конечно) И даже не только это средство. Я и написал об этом в начале, что полный набор инструментов для асинхронного программирования есть во многих языках и давным давно. Но это всё без вскусного синтаксического сахара… )))
Тогда в каком потоке по вашему будет исполняться ProcessResult из этого
примера? Считаем что Handler вызвали из UI потока.