线程概述

线程:

存在的意义(一种浅白的描述):进程包含数据,程序,体型庞大,在阻塞就绪状态排队(在内存)太占位置,移动慢(调度开销大),不如登记后(登记于内存,这就是线程,只携带少量必要信息,调度时在获得资源,召唤本体),一边等着(置于外存);且进程阻塞挂起时,部分工作可以执行却无法执行,需要细分;还可以利用充分多核;


进程拥有独立资源,其下线程是处理机调度的单元

一个进程至少包含一个线程


线程控制块(TCB),进程内线程共享的资源置于PCB,独有资源置于TCB

包含:线程标识信息,处理机状态信息(现场信息),线程调度信息

状态与进程类似:如运行,就绪,阻塞,终止

 

线程创建

参见后续博客

 

线程优势

易于调度,高并发性,开销少,发挥了多处理器功能


进程与线程的区别

1.调度:进程,资源拥有的基本单位,线程,调度指派的基本单位;

线程切换不会引起进程切换(同一进程内);

2.资源:线程不拥有系统资源,可通过进程获得进程的系统资源

3.并发性:

4.系统开销:

 

对线程的管理:

1.   内核态线程

操作系统管理线程:

优点:编程简单,调度容易

缺点:线程调度经过内核,开销大,占用内核资源多等;


2.   用户态线程:

进程管理线程,即用户管理;

优点:灵活,不依赖系统,不经内核切换快

缺点:程序书写困难,有可能一个线程受阻(无法执行交出CPU命令),整个进程失去控制权

 

3.   混合态线程:

现代操作系统使用,内核态线程执行阻塞操作,用户态线程执行非阻塞操作,同时进行;即一个内核态线程负责其映射的多个用户态线程内核调度,一个阻塞,全组阻塞,调用另一个内核态线程映射的多个用户态线程;


实现混合方式的模型:

多对一:多用户线程对应一个内核线程,,一个阻塞,全组阻塞,每次只有一个线程访问核心

一对一:开销大,

多对多:克服上述模型的缺点;

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值