暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从操作系统,理解JVM的抢占式线程调度

阿斌Java之路 2021-07-10
815

前言

之前被面试官问道了线程调度,没有回答上来。在百度中得知JVM是抢占式的线程调度,但什么是抢占式?直到我学习了操作系统的线程调度,更加迫切的想要解开这个谜题。

为什么说Jvm是抢占式的线程调度,我们都知道linux是时间片轮询的,那抢占式调度和分时调度有有什么区别。带着这个问题,又开始了我的学习之旅。


开始学习

我又去看了这份操作系统的专栏。里面的目录正好解决了我的疑惑。

原来,抢占式线程调度,其实就是分时调度的一种升级。和他相对应的是非抢占式。


非抢占式

非抢占式指的是,只要线程掌握了执行权,他就会一直运行,除非他有io操作,或者主动停下来进行线程让步。


抢占式

而抢占式调度和分时调度一样的是,每个线程都有时间片,运行时间到了,就会停下来换人。而他的抢占,体现在优先级上,只要等待对列中有高优先级的线程。那么当前的cpu执行权就会在合适的时间被高优先级线程抢占。所以其实可以理解为,linux的线程调度策略就是一种抢占式调度,和jvm的调度策略是一样的。



END



后台回复关键词 操作系统 获取今日推荐资料

微信8.0新增了一万的好友数,之前没加上好友的可以加一下我的个人微信,再晚又满了,一起抱团取暖结伴内卷。



扫码拉群,学习打卡,交流经验


每周一读




文章转载自阿斌Java之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论