Продолжить с задачей в главном потоке
Простите, если это простой вопрос; Я не смог сформулировать это достаточно общим образом, чтобы найти ответ.
Рассмотрим этот код:
var task = Task.Factory.StartNew(() => Whatever());
task.ContinueWith(Callback, TaskScheduler.FromCurrentSynchronizationContext())
Как точно определяется, когда будет выполняться метод обратного вызова?
Будет ли он ждать, пока основной поток в настоящее время не завершит делать то, что он делает, или он будет вызван сразу после завершения асинхронного вызова? И будет ли этот обратный вызов полностью выполняться до того, как основной поток вернется к тому, что делал раньше?