Я смотрел видео об Async CTP и увидел, что если вы вызываете await, например, из основного потока, то выполнение будет продолжено из основного потока, когда работа будет завершена.
например,
//called from main thread
var result = await SomeAsyncWork();
//this will execute in main thread also
console.writeline(result)
У меня было наивное впечатление, что будет нормальный обратный вызов, который будет выполняться в рабочем потоке.
На некотором уровне это должно быть тем, что происходит, поскольку вы можете переносить обычные асинхронные методыв Задаче T с Task.FromAsync
, но обычные асинхронные методы будут выполняться в рабочих потоках, так как же обратный вызов в рабочей нити перенаправляется обратно в основной поток?