线程以及的线程实现方式

操作系统—线程

1、什么是线程

 - 有部分进程需要同时做很多事,引入线程来增加并发度 
 - 线程是程序执行流的最小单位,进程之间可以并发执行,进程内部的各个线程也可以并发的执行。
 - 引入线程之后,进程就只作为除cpu之外的系统资源的分配单元(打印机)

2、线程机制带来的变化(对比传统的)

 - 进程变成资源分配的基本单位,线程是调度的基本单位 ,线程之间可以实现并发。
 - 提高了并发度 线程的切换不需要切换进程环境,系统开销减小

3、线程的属性:

 - 线程不拥有系统的资源,共享的是进程的系统资源
 -  同一个进程下线程之间的通信不需要系统的干预
 -  同一个进程下的线程切换不会引起进程切换,不同的会引起 进程切换
 - 线程也有类似于进程的状态

线程的实现方式

1、用户级线程

 - 缺点:所有的线程管理工作都是由应用程序负责 线程的切换在用户态下,无需操作系统的干预
 - 优点:用户级线程在用户空间就能完成,开销小,效率高,当时并发度不

2、内核级线程

 - 操作系统只能看见内核级线程。
 - 内核级线程可以运行任意一个有映射关系的用户级线程代码。
 - 只有内核级线程都被阻塞是,进程才会被阻塞。但是管理成本大,开销高

3、多线程模型:

 - 一对一模型:一个用户级线程映射到一个内核级线程
	 - 优点:各个线程可以分配到多核处理机并发执行,并发度高 
	 - 缺点:全部需要操作系统的支持,开销大

	多对一模型:多个用户级线程对应一个内核级线程
	优点:线程管理开销小
	缺点:一个线程阻塞会导致整个进程都被阻塞,并发度低
	多对多模型:n个用户级线程映射多m个内核级线程(n>m)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值