如何在UI线程和线程池线程之间通讯。一般来说,UI线程拥有的对象,其他线程是无法操作的。但是.Net有一个很重要的抽象对象——TaskScheduler(任务调度器)。它协调着不同任务(线程)的运行,使得线程池中的线程有了操作UI线程的可能。在我以前不知道OberservableCollection和WPF开发的时候,都是要么使用 Invoke方法,要么就是使用TaskScheduler。这篇文章我们就主要介绍一下TaskScheduler这个对象。本篇的例子依然来源于《C#多线程编程实例》(其实我这个系列的都是来自于这本书的例子)
亲测成功案例A
建立wpf应用,编写如下函数:
[c#] view plain copy 在CODE上查看代码片派生到我的代码片Task《string> TaskMethod(TaskScheduler scheduler)
{
Task delay = Task.Delay(5000);