线程模型介绍

线程模型的介绍

线程有三种模型:N:1用户线程模型,1:1核心线程模式,N:M混合线程模型

POSIX: Portable Operating System Interface(可移值操作系统接口)

N:1用户线程模型

线程的实现建立在进程控制的机制之上,有用户空间的程序库来管理。Os是完全不知道线程信息的。这些线程称之为用户空间线程。这些线程都工作在“进程竞争范围“”各个线程在同一个进程中竞争“CPU的调度时间”,不和其他进程中的线程竞争,

在N:1线程模型中,内核不干涉线程的任何生命活动。也不干涩同一个进程中线程环境切换。

在N:1线程模型中一个进程多个线程只能调度一个cpu,那么如果进程中的某一个线程执行了阻塞式的操作,这个进程中的其他线程也会被阻塞。

1:1核心线程模型pthread库(NPTL:Native POSIX Threads Library)

在1:1核心线程模型中,进程创建的每一个线程都有一个核心线程直接管理,os内核将每一个核心线程都调度到系统的CPU上。

因此,所有线程都工作在“系统竞争范围”:线程直接和“系统范围”内的其他线程竞争。

这中线程的创建与调度都由内核完成,所以这种线程的系统开销比较大。

N:M混合线程模型 NGPT(Next Generation POSIX Threads)

N:M混合线程模型提过了两级控制,将用户线程映射为可调度的尸体以实现并行,这个可调度的实体称为轻量级进程,LWP,再一一映射到核心线程,如下图所示。OS内核将每一个核心线程都调到系统CPU上,因此,所有线程都工作在“系统竞争范围”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值