深入理解JVM--线程

这篇博客探讨了线程的三种实现方式:内核线程(KLT)、用户线程(UT)和混合的N:M模型。内核线程实现中,每个LWP对应一个KLT,调度由内核负责,但开销较大。用户线程完全在用户空间创建和调度,减少开销但可能引发阻塞问题。而N:M模型则在UT和KLT间建立映射,兼顾灵活性和效率。以Java线程为例,其可能采用1:1或N:M的实现方式。
摘要由CSDN通过智能技术生成

线程的实现

线程有三种实现方式:1.使用内核线程实现(LWP)–KLT(1:1) 2.使用用户线程实现 (N:1)3.使用用户线程+轻量级进程混合实现(N:M)。

使用内核线程实现

在这里插入图片描述
LWP 是Light Weight Process , 不算事内核线程,广义上来说属于用户线程
KLT (Kernel-Level Thread) 内核线程。
1:1 的关系,完全使用轻量级进程,由内核创建调度,会有一定的开销。

使用用户线程完成

狭义上的用户线程(UT),完全在用户空间中,由应用程序完成创建,销毁,调度。开销少,但是实现复杂,容易阻塞进程,不能利用多核。

用户线程加轻量级线程

相比1 ,会有UT和LWP之间的映射,LWP 成为UT 和KLT之间的桥梁,调度可有内核完成。

java线程实现:1:1 or N:M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值