学习笔记7
2021/10/26 23:43:29
本文主要是介绍学习笔记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中的线程
这篇关于学习笔记7的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南