C#并行任务Parallel

我们知道,在计算机执行程序的时候,大多数情况下都是串行执行,也即一个任务完成后在接着运行下一个任务,当然有用到过线程Thread,或者线程池ThreadPool,还有就是Task.这次我们认识一个东西,他叫Parallel,这个类是微软在.net4.0中推出的,其在命名空间System.Threading.Tasks中.其基本作用是提供并行执行程序,针对多核cpu有较好的效果,单核无效.

Parallel和线程的区别是;

线程使用cpu资源的时候可能将任务分配到一个核心上,对于多核cpu来说,可能的结果是cpu一个核心占用率很高,其他核心闲置.

使用Parallel对于多任务来说,可以均衡各个核心的使用率,达到各个核心负载均衡的目的,同时提高程序的处理的速度,优化程序的效率.

Parallel中有几个常用的方法For,ForEach,Invoke.

Invoke:主要用于任务的并行

For方法,主要用于处理针对数组元素的并行操作(数据的并行

Foreach方法,主要用于处理泛型集合元素的并行操作(数据的并行)

你可能感兴趣的:(C#,c#)