操作系统(6)——线程(Thread)
发布时间
阅读量:
阅读量
一、为什么使用线程
单进程的问题 :各个函数之间不是并发执行,影响资源的使用效率。
多进程间的通信与数据共享问题:如何实现进程间的通信与数据共享?另外,在操作系统的运行中存在较高的系统运行开销。
在创建进程中需要执行以下步骤:获取并分配内存空间,并初始化并建立一个页表控制器(PCI)。当取消一个进程时,请释放回可用内存池,并从系统中删除其相关的PCI设置项。在发生进程中切换时,请获取并保存当前运行状态的信息,并更新相关的上下文引用链表以反映新的处理器状态信息。
解决方法
需要提出一种新的实体,满足以下特性:
- 实体之间可以并发的执行;
- 实体之间可以共享相同的地址空间。
二、什么是线程
1. 线程(Thread):进程当中的一条执行流程。
从两个方面来重新理解进程:
- 从整合的角度来看:系统将一组相关联的资源整合在一起,形成了一个整合了多种资源的平台环境;包括代码段、数据段以及已打开的各种文件;
- 从运作的角度来看:源代码在这个整合了多种资源的平台环境中运行其一条执行路径。
线程 = 进程 — 共享资源
2. 线程的优缺点
优点:
- 在同一个进程中运行着多个线程;
- 不同的线程之间能够并行地执行;
- 不同的线程之间能够共用地址空间、文件以及其他相关资源。
缺
全部评论 (0)
还没有任何评论哟~
