操作系统——线程

线程

60年代出现了进程。80年代中期开始出现了线程。

为什么要使用线程

解决进程并行遇到的问题:

  1. 进程之间如何通信以及共享数据
  2. 维护进程的系统开销较大:
    1. 创建进程时,分配资源、建立PCB
    2. 撤销进程时,需要回收资源、撤销PCB
    3. 进程切换时,保存进程的状态信息

需要提出一种新的具备以下特性的实体:

  1. 实体之间可以并发执行
  2. 实体之间共享相同的地址空间

什么是线程

线程定义:线程是进程当中的一条执行流程。

此后就可以将进程拆分为两部分:资源管理和线程。

线程共享进程的资源。

个人感觉可以理解为Java中内部类和外部类的关系,内部类可以直接访问外部类的所有资源。

从资源组合的角度来说,进程将一组喜爱那个管的资源组合起来,构成了一个资源平台(环境),包括地址空间(代码段、数据段)、打开的文件等各种资源。

从运行的角度来说,代码在这个资源平台上的一条执行流程(线程)。

在这里插入图片描述

线程由自己的TCB(线程控制块):包括PC(程序计数器)、SP(堆栈)、State(状态)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值