JVM线程模型与操作系统厂商的关系

jvm线程仍然可以自行控制调度算法(hotspot在非solaris放弃了这种骚操作,直接让一个jvm线程对应一个os线程,成为1vs1模型)。


也就说,有些jvm厂商自己实现线程调度算法,在os线程的基础上又做了一层封装。从而实现多个线程在一个os线程内并发,或者多个线程在n个线程内并发。你可以理解为jvm厂商真把jvm当成是计算机操作系统来做了。

按照jvm的规范,jvm线程是操作系统级别的,由操作系统调度,而非用户进程级别。这就意味着jvm根据操作系统提供的内核函数来实现jvm线程接口规范。即有一种叫坐TCB的存在对标PCB.


另一方面,我们可以理解为现代操作系统对进程进一步抽象,将进程看成内存管理单元,将cpu核的算力的时间片分配单元从进程剥离出来,由原先按照进程分配改为按照线程来分配,具体指令实现就是寄存器上下文对象由之前内核进程一个,改为每个线程一个,上下文不再是进程上下文,而是线程上下文。


线程进程模型是操作系统厂商实现的,和cpu厂商无关,cpu厂商只是面向操作系统内核提供服务(可以理解为有多个内核计算单元),所有内核计算单元维护一个指令调度表(去中心化的感觉),并发同步问题由操作系统实现自己去负责担保。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值