我试图找到这个问题的答案,但是没有找到。我的疑问是,
我还尝试了一个示例程序,虽然它似乎在
Task.ContinueWith
委托在哪个线程上被调用。
就"await"而言,我知道它尝试在捕获的SynchronizationContext
上运行,但是对于ContinueWith
没有记录任何内容。我还尝试了一个示例程序,虽然它似乎在
Threadpool
线程上被调用,但我怀疑在某些情况下它可能会在SynchronizationContext
上调用。也许有人可以提供一个明确的答案。
await
行为,请参见Task.ContinueWith Method(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler),作为最后一个参数传递 TaskScheduler.FromCurrentSynchronizationContext。 - Ivan StoevContinueWith
呢?你几乎肯定应该使用await
而不是ContinueWith
。 - Stephen Cleary