当前位置:  开发笔记 > 编程语言 > 正文

为什么在UI线程上调用启动新任务

如何解决《为什么在UI线程上调用启动新任务》经验,为你挑选了1个好方法。



1> i3arnon..:

但为什么新的Task开始在ui线程上?

因为除非另外指定,否则调用Start任务会调度当前的任务TaskScheduler,在您的情况下,该任务是SynchronizationContext您使用创建的UI线程的正面TaskScheduler.FromCurrentSynchronizationContext().

启动Task,将其安排执行到当前TaskScheduler.

从Task.Start方法

如果您希望将该任务安排在TaskScheduler与当前任务不同的任务上,则可以将其作为参数传递:

t.Start(TaskScheduler.Defualt);

注意:几乎没有可以想象的使用Task.Start是最好的解决方案.你应该重新考虑这个途径.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有