学习笔记【多线程-第二节:线程调度模型】

本文探讨了Java中的线程调度模型,包括线程优先级的设定与获取,以及两种主要的调度模型——均分式和抢占式。在抢占式调度模型中,优先级高的线程更有可能获得CPU时间片。通过实验观察,验证了优先级对线程执行顺序的影响。
摘要由CSDN通过智能技术生成

线程的优先级

每个线程都有优先级,最高是10,最低是1,默认为5。
修改优先级:void setPriority(int num);
读优先级:int getPriority();

均分式调度模型:

平均分配cpu时间片,每个线程占有的cpu时间片时间长度相同。

抢占式调度模型:

关于线程这么重要的知识我听了两个老师的网课,只有一个提到了,java是抢占式调度模型,他说,哪个线程的优先级比较高,抢到cpu时间片的概率就会高一些或者说大一些。感觉说的有些笼统,我就去网上查,得到了这样的说法:

java虚拟机采用抢占式调度模型,是指优先让可运行池中优先级高的线程占用CPU,如果可运行池中的线程优先级相同,那么就随机选择一个线程,使其占用CPU。处于运行状态的线程会一直运行,直至它不得不放弃CPU。一个线程会因为以下原因而放弃CPU。一, java虚拟机让当前线程暂时放弃CPU,转到就绪状态,使其它线程或者运行机会。二,当前线程因为某些原因而进入阻塞状态。三,线程结束运行。

"处于运行状态的线程会一直运行,直至它不得不放弃CPU。"这句话困扰了我,线程不是都是抢夺时间片的吗,优先级高的优先抢夺我可以理解,于是乎,我做了个实验。

public class Test {
   
    public static void main(String[] args) {
   
        new Thread
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值