TaskScheduler.FromCurrentSynchronizationContext()在嵌套的Task中引用了什么?

时间:2016-03-29 13:32:28

标签: .net asynchronous

如果我创建并启动任务并致电

TaskScheduler.FromCurrentSynchronizationContext()

我知道,在WPF中,它指的是GUI线程。如果我在该任务中创建嵌套任务并调用此方法,它是否仍会引用相同的GUI线程?我认为这个方法调用TaskScheduler并检索引用GUI的静态变量。这是对的吗?

1 个答案:

答案 0 :(得分:2)

它指的是在您调用此方法的线程上安装的SynchronizationContext。当您在线程池上调用它时,通常为null。如果你在UI线程上调用它,那就是UI线程上下文。

因此,它取决于您的父任务运行的调度程序。

此外,您的代码可能已修改SynchronizationContext.Current,但这种情况很少见。

所有这些都与任务无关。它是关于如何配置当前线程的。