一. 并行编程
1. 区分串行编程和串行编程
①. 串行编程:所谓的串行编程就是单线程的作用下,按顺序执行。(典型代表for循环 下面例子从1-100按顺序执行)
②. 并行编程:充分利用多核cpu的优势,同时开启多个线程并行执行。(典型代表Parallel.For循环 下面例子从1-100无序执行)
代码实践:
1 {
2 //1. 串行 (从1-100按顺序执行)
3 for (int i = 1; i < 100; i++)
4 {
5 Console.WriteLine(i);
6 }
7 //2. 并行 (从1-100无序执行)
8 Parallel.For(1, 100, (item) =>
9 {
10 Console.WriteLine(item);
11 });
12 }
结论:串行的代码按顺序依次输出,并行的代码无顺序输出。
2. 深究Parallel类中的方法 (For方法、ForEach方法、Invoke方法 这三个方法都是用来开启线程的)
(1). Invoke方法
a. 该方法的作用就是用来同时开启多个线程的。
b. 该方法有两个重载,主要涉及到两个参数,用来配置最大并行数(即线程数)和一个可变的Action委托数组(详见源码)。
<

本文深入探讨了并行编程,对比了串行与并行编程的区别,详细阐述了C++中Parallel类的For、ForEach、Invoke方法,并通过实例展示了它们如何启动线程。此外,还介绍了常见的编程模型,如SPM、APM、EAP和TAP。
最低0.47元/天 解锁文章
13万+

被折叠的 条评论
为什么被折叠?



