linux(线程概念)

目录:

            1.概念

            2.linux线程与接口的关系

            3.代码验证(线程是进程模拟的)

-------------------------------------------------------------------------------------------------------------------------------

1.概念

一般教材:

线程:是在进程内部运行的一个执行分支(执行流),属于进程的一部分,粒度要比进程更加细和轻量化。

 CPU调度进程,拿着你进程PCB,把你PCB当中的上下文,放进CPU当中,恢复进程

如果我假设,我有一个能力把你的代码分上一部分,把你的数据分上一部分,把你乱七八糟的区域分上一小部分,然后我创建一个PCB,,不过我新的PCB不想创建新的进程,新的PCB不想指向新的地址空间,而是指向我们主进程的PCB地址空间同一个

 

CPU此时看到的PCB  <= 之前进的PCB的

CPU只是认为一个PCB就是一个需要被调度的执行流!!!这样的每一个一个一个的PCB 在我们的linux当中称之为线程

linux中没有专门为线程设计 TCB,而是用进程的PCB来模拟线程(不用维护复杂的进程和线程关系,不用单独为所谓的线程设计任何算法,直接使用进程的一套相关方法,OS只需要聚焦在线程间的资源分配上,就可以了)

上面叫做线程是属于进程的一部分呢??

线程的公有和私有资源

所以的轻轻量级(可能是”线程“)都是在进程内部运行(地址空间:用来表示进程所能看到的大部分资源!!!)

进程,独立性(PCB是分开的),可以有部分共享资源(管道、ipc资源)
线程,大部分资源是共享的,可以有部分资源是”私有“的(线程的PCB,栈(线程在执行和运行 的时候产生的临时数据是可以被压栈的,线程和线程之间临时数据不会互相干扰,所以需要有独立的栈结构),上下文(一个线程是调度的基本单位,所以它一定会形成自己在CPU寄存器当中自己的临时数据))

-------------------------------------------------------------------------------------------------------------------------------

2.linux线程与接口的关系

 3.代码验证(线程是进程模拟的)

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值