5
见:TaskFactoryTask.Factory.StartNew()的TaskScheduler参数
当我要做出一个任务是长时间运行,也可撤销的,如果我打电话从UI这个方法,我如何通过taskscheduler参数?
见:TaskFactoryTask.Factory.StartNew()的TaskScheduler参数
当我要做出一个任务是长时间运行,也可撤销的,如果我打电话从UI这个方法,我如何通过taskscheduler参数?
问题并不明显。为什么你不能只是打电话:
CancellationToken token = new CancellationToken(false);
TaskScheduler scheduler = TaskScheduler.Default;
Task task = taskFactory.StartNew(action, token,
TaskCreationOptions.LongRunning, scheduler);
我修改了我的问题,这是安全的通过。默认情况下,当我从ui线程调用此方法?考虑到这是一个长期运行和阻塞的任务。 – Benny 2010-07-24 07:58:52
@ Benny:你的问题本身还不是很清楚,因为它没有提到TaskScheduler.Default。但是,是的,TaskScheduler.Default可以从UI线程中指定 - 但是该任务本身不会在UI线程上运行。 – 2010-07-24 08:05:33
对不起,我只是想确保当我从UI线程指定TaskScheduler.Default时,任务不会阻塞UI线程,谢谢。 – Benny 2010-07-24 08:10:05