- 博客(5)
- 问答 (3)
- 收藏
- 关注
转载 C#学习之UI线程和线程池线程之间通讯之TaskScheduler.FromCurrentSynchronizationContext()
讲了如何在UI线程和线程池线程之间通讯。一般来说,UI线程拥有的对象,其他线程是无法操作的。但是.Net有一个很重要的抽象对象——TaskScheduler(任务调度器)。它协调着不同任务(线程)的运行,使得线程池中的线程有了操作UI线程的可能。在我以前不知道OberservableCollection和WPF开发的时候,都是要么使用 Invoke方法,要么就是使用TaskScheduler。这篇
2017-05-04 14:56:27 4801
转载 C#学习之Task.ContinueWith(连续的任务)的使用
通过任务,可以指定在任务完成之后,应开始运行之后另一个特定任务。例如,一个使用前一个任务的结果的新任务,如果前一个任务失败了,这个任务就应执行一些清理工作。任务处理程序都不带参数或者带一个对象参数,而任务的连续处理方法都有一个Task类型的参数,这里可以访问起始任务的相关信息:如下面的示例代码: 1: using System; 2: using System.
2017-05-04 11:31:56 25797
转载 C#学习之Task 的用法2
随着 .NET 4.0的到来,她与以前各版本的一个明显差别就是并行功能的增强,以此来适应这个多核的世界。于是引入了一个新概念---任务,作为支持并行运算的重要组成部分,同时,也作为对线程池的一个补充和完善。从所周知,使用线程池有两个明显的缺点,那就是一旦把我们要执行的任务放进去后,什么时候执行完成,以及执行完成后需要返回值,我们都无法通过内置的方式而得知。由于任务(Task)的推出,使得我们对并行
2017-05-04 11:29:50 5062
转载 comboBox.SelectedItem与SelectedText区别
1、comboBox.SelectedItem是指当前选定项的对象,而不是文本;SelectedItem 属性设置为一个对象时,ComboBox尝试使该对象成为列表中当前选定的对象。如果在列表中找到了该对象,则将它显示在ComboBox的编辑部分,并且将SelectedIndex属性设置为相应的索引。如果列表中不存在该对象,则SelectedIndex属性保留其当前值。 2、comboB
2017-05-04 11:21:48 8881
转载 C#学习之Task 的用法1
其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观。代码更简洁了,使用Task来进行操作。可以跟线程一样可以轻松的对执行的方法进行控制。顺便提一下,配合CancellationTokenSource类更为可以轻松的对Task操作的代码进行中途终止运行,会在后面的章节中讲述。如果我们使用线程池来实现某几个方法运行,然后等待运行完成的大概会编写如下代码:
2017-05-04 10:46:37 1037
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人