Advertisement

操作系统(6)——线程(Thread)

阅读量:
一、为什么使用线程

单进程的问题 :各个函数之间不是并发执行,影响资源的使用效率。

多进程间的通信与数据共享问题:如何实现进程间的通信与数据共享?另外,在操作系统的运行中存在较高的系统运行开销。

在创建进程中需要执行以下步骤:获取并分配内存空间,并初始化并建立一个页表控制器(PCI)。当取消一个进程时,请释放回可用内存池,并从系统中删除其相关的PCI设置项。在发生进程中切换时,请获取并保存当前运行状态的信息,并更新相关的上下文引用链表以反映新的处理器状态信息。

解决方法

需要提出一种新的实体,满足以下特性:

  • 实体之间可以并发的执行;
  • 实体之间可以共享相同的地址空间。
二、什么是线程

1. 线程(Thread):进程当中的一条执行流程。

从两个方面来重新理解进程:

  • 从整合的角度来看:系统将一组相关联的资源整合在一起,形成了一个整合了多种资源的平台环境;包括代码段、数据段以及已打开的各种文件;
  • 从运作的角度来看:源代码在这个整合了多种资源的平台环境中运行其一条执行路径。

线程 = 进程 — 共享资源

2. 线程的优缺点

优点:

  • 在同一个进程中运行着多个线程;
  • 不同的线程之间能够并行地执行;
  • 不同的线程之间能够共用地址空间、文件以及其他相关资源。

全部评论 (0)

还没有任何评论哟~