2020-08-05

1.Java中用到的线程调度算法

在运行池中,会有多个处于就绪状态的线程在等待CPU,Java虚拟机的一项任务就是负责线程的调度,线程调度是指按照特定机制为多个线程分配CPU的使用权
有两种调度模型:分时调度模型和抢占式调度模型
分时调度模型:让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片
抢占式调度模型Java虚拟机采用抢占式调度模型,抢占式调度模型是指优先让可运行池中优先级高的线程占用CPU,如果可运行池中的优先级相同,那么随机选择一个线程,使其占用CPU

2.线程调度策略

线程调度器选择让优先级最高的线程运行,如果发生下面几种情况,就会终止线程的运行:

  • 线程体中调用yield方法让出cpu的使用权
  • 线程体中调用sleep方法使线程进入睡眠
  • 线程由于I/O操作受到阻塞
  • 另外一个更高优先级线程出现
  • 所获得的时间片用完

3. 什么是线程调度器

线程调度器是一个操作系统服务,它负责为就绪态的线程分配CPU时间一旦我们创建一个线程并启动它,它的执行便依赖线程调度器的实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值