C# Parallel库中提供了四种并行计算的写法,分别是:Parallel.For,Parallel.ForEach,Parallel.Invoke和Parallel.LoopState。
Parallel.For
Parallel.For是C#中最常用的并行计算方式,它可以把一个for循环并行化,使得多个线程同时执行for循环中的代码,从而提高程序运行速度。
Parallel.For(int start, int end, Actionbody);
上面的代码表示,从start开始,到end结束,每次循环执行body中的代码。
Parallel.ForEach
Parallel.ForEach是一种更加灵活的并行计算方式,它可以把一个foreach循环并行化,使得多个线程同时执行foreach循环中的代码,从而提高程序运行速度。
Parallel.ForEach(IEnumerablesource, Action body);
上面的代码表示,对source中的每一个元素,执行body中的代码。
Parallel.Invoke
Parallel.Invoke是一种更加灵活的并行计算方式,它可以把多个方法并行化,使得多个线程同时执行这些方法,从而提高程序运行速度。
Parallel.Invoke(params Action[] actions);
上面的代码表示,同时执行actions中的多个方法。
Parallel.LoopState
Parallel.LoopState是一种更加灵活的并行计算方式,它可以把一个for循环或者foreach循环并行化,使得多个线程同时执行这些循环中的代码,从而提高程序运行速度。
Parallel.For(int start, int end, ParallelLoopState loopState, Actionbody); Parallel.ForEach(IEnumerable source, ParallelLoopState loopState, Action body);
上面的代码表示,分别把for循环和foreach循环并行化,每次循环都会传入loopState参数,用于控制循环的状态。