学习笔记7
作者:互联网
第四章 并发进程
4.1 并行计算导论
并行计算是一种计算方案,它尝试使用多个执行算法的处理器更快速地解决问题
计算的未来发展方向是并行计算
并行算法原理如图:
4.1.1 顺序算法与并行算法
在描述顺序算法时,常用的方法是用一个begin-end代码块列出算法
顺序算法包含多个步骤,所有步骤通过单个任务依次执行,每次执行一个步骤
并行算法的描述,使用cobegin-coend代码块来指定
在cobegin-coend块中,所有任务都是并行执行的
4.1.2 并行性与并发性
理想情况下,并行算法中的所有任务都应该同时实时执行
真正的并行执行只能在有多个处理组件的系统中实现
4.2 线程
实现线程主要有三种方式:
(1)使用内核线程实现
(2)使用用户线程实现
(3)使用用户线程加轻量级进程混合实现
4.2.1 线程的原理
4.2.2 线程的优点
(1)线程创建和切换速度更快
(2)线程的响应速度更快
(3)线程更适合并行计算
4.2.3 线程的缺点
(1)由于地址空间共享,线程需要来自用户的明确同步
(2)许多库函数可能对线程不安全
(3)单CPU系统上,线程解决问题比顺序程序慢
总结:这里我们总结了线程的优缺点,顺带找到了进程的优缺点
4.3 线程操作 4.4 线程管理函数 4.4.1 创建线程 使用pthread_create()函数创建线程 4.4.2 线程ID 线程ID是一种不透明的数据类型,取决于实现情况 4.4.3 线程终止 线程函数结束后,线程即终止 4.4.4 线程连接 一个线程可以等待另一个线程的终止 4.5 线程示例程序 4.5.1 用线程计算矩阵的和 4.5.2 用线程快速排序 4.6 线程同步 4.6.1 互斥量 4.6.2 死锁预防 4.6.3 条件变量 4.6.4 生产者-消费者问题 4.6.5 信号量 4.6.6 屏障 4.6.7 用并发线程解线性方程组 4.6.8 Linux中的线程
标签:4.4,4.6,并行算法,4.2,笔记,学习,并行计算,线程 来源: https://www.cnblogs.com/Ye-fen/p/15468358.html