并行、并发、顺序在程序开发中经常运用到,我们可以根据不同的情况来使用,比如处理比较大的任务计算就用并行。下面用三句话来描述三者之间的区别:
1、你正在吃饭,这时候你女友想让你唱歌,你不同意,直到吃饭结束才给她唱歌,说明是顺序执行,既不是并行也不是并发。.
2、你正在吃饭,这时候你女友想让你唱歌,你停下吃完饭给你女友唱歌,唱完歌接着吃饭,这说明是并发。不能同时做两件事。
3、你正在吃饭,这时候你女友想让你唱歌,你边吃饭边唱歌,这说明是并行。
C#顺序执行:
for (int i = 1; i <= 10000; i++)
{
bool b = fun(i);
Console.WriteLine($"{i}:{b}");//一个一个执行
}
采用并行编程方法:
Parallel.For(1, 10000, x=>
{ bool b = fun(x);
Console.WriteLine($"{i}:{b}")//多个同时执行
});
并发和并行不容易区分,具体根据CPU的执行情况来看。
对于并发和并行还有什么不清楚或者对文章有疑问,欢迎留言讨论。