如果这是一个简单的问题,请原谅我;我无法用足够通用的方式来表达它来搜索答案。
考虑这段代码:
var task = Task.Factory.StartNew(() => Whatever());
task.ContinueWith(Callback, TaskScheduler.FromCurrentSynchronizationContext())
回调方法何时执行是如何确定的?
它会等到主线程当前完成它正在做的事情,还是会在异步调用完成后立即调用它?这个回调会在主线程返回之前完全执行吗?