进程与线程笔记 -7

线程实现

用户线程
用户线程是基于用户态的线程管理库来实现的,TCB也是在管理库中实现的。操作系统看不到TCB,只能看到PCB。
用户线程的管理调度是用户级线程库函数完成调度的,操作系统不参与。
优点:
每个进程由私有的线程控制块列表,用来管理跟踪线程,TCB使用用户级管理库函数管理,可以用在不支持线程技术的操作系统。
管理由库函数进行管理,不需要内核态和用户态切换,速度快。
缺点:
操作系统不参与线程调度,如果线程发起系统调度被阻塞,那进程所有的线程都不能执行了。
线程开始运行后除非它主动交出CPU否则其他线程无法运行。
时间片短,执行比较慢。
内核线程
内核线程是由操作系统管理的,线程对应的 TCB 、放在操作系统里的,这样线程的创建、终止和管理都是由操作系统负责。
优点:
在进程当中如果发生系统调用被阻塞不会影响到进程中其他线程运行。
分配给线程,多线程的进程获得更多的 CPU 运行时间
缺点:
线程的创建、终止和切换都是通过系统调用的方式来进行,因此对于系统来说,系统开销比较大。
轻量级线程(LWP)
是内核支持的用户线程,一个进程可有一个或多个LWP,每个LWP跟内核线程是一对一映射的,LWP都是由一个内核线程支持的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值