美文网首页
Java的线程调度

Java的线程调度

作者: ACtong | 来源:发表于2020-05-25 22:26 被阅读0次

线程调度是指系统为线程分配处理器使用权的过程,调度主要方式有两种:

  • 协同式 (Cooperative Threads-Scheduling)线程调度
  • 抢占式(Preemptive Threads-Scheduling)线程调度。
协同式线程(Cooperative Threads-Scheduling)调度

线程的执行时间由线程本身来控制,线程把自己的工作执行完后,要主动通知系统切换到另外一个线程上去。
好处:实现简单,没什么线程同步问题
坏处:线程执行时间不可控(一旦某个线程代码有问题,一直不告诉系统线程的切换,那么程序就会阻塞)

抢占式(Preemptive Threads-Scheduling)线程调度

每个线程将由系统来分配执行时间,线程的切换不由线程本身来决定。
在Java中,由Thread::yield()可以主动让出执行时间,但是想主动获取执行时间,线程本身是没有办法的。
好处:线程执行时间可控,不会导致有某个线程使得整个系统阻塞
Java使用的线程调度就是抢占式调度。

相关文章

  • java虚拟机读书笔记之线程调度

    java线程调度 线程调度主要有两种方式,协同式线程调度和抢占式线程调度。1、协同式: 线程的执行时间由线程本身...

  • Java线程模型

    Java线程模型 本文将从线程类型、线程通信、线程调度三个方面分析Java中的线程模型。 什么是线程? 线程就是进...

  • 并发--线程和锁

    线程调度 协同式调度 1.一个线程执行完毕之后再通知其他线程执行 抢占式调度(JAVA使用的是这种方式) 1.os...

  • java线程

    java 线程的方式 :抢占式调度 线程的方法:getName() //获取线程名字 getcurrentThre...

  • 线程优先级和守护线程

    线程优先级: Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定调度哪个...

  • java多线程

    Java线程调度和优先级 在各种线程中,Java虚拟机必须实现一个有优先权的,基于优先级的调度程序。每一个线程都会...

  • 2021/04/07GO语句的执行规则

    1.理解协程是如何被调度的 java中的线程和系统线程的调度关系为1:1go中协程和系统线程的调度关系为M:N,这...

  • java 线程学习(一)

    java线程 线程是cpu执行的基本调度单位,它比进程更加轻量级,线程的引入,可以把一个进程的资源分配和执行调度分...

  • Java线程调度

    线程调度是指系统为线程分配处理器使用权的过程,主要调度方式有两种,分别是协同式调度 Cooperative Thr...

  • 线程池

    线程是调度CPU资源的最小单位,线程模型分为KLT模型和ULT模型,Java采用的是KLT模型,java线程与OS...

网友评论

      本文标题:Java的线程调度

      本文链接:https://www.haomeiwen.com/subject/wjudahtx.html