zoukankan      html  css  js  c++  java
  • Java线程调度

    一、线程调度

      线程调度就是操作系统为线程分配处理器使用权的过程。

    二、线程调度方式

      1. 协同式(Cooperative threads-scheduling)

        协同式是指线程的切换是线程自己控制,也就是说线程执行完成后主动通知切换到另一条线程执行。

        协同式调度的好处:

          实现简单,线程的切换是线程可知的,所以,不存在线程同步问题。

        协同式调度的缺点:

          线程的执行时间不可控,假设,某个线程代码编写有错,导致线程堵塞无法通知切换其他线程执行,会导致整个进程堵塞。

      2. 抢占式(Preemptive threads-scheduling)

        抢占式调度是指由操作系统分配线程执行时间,线程的切换是操作系统控制。

        由于线程的执行时间和线程切换由操作系统控制,即使某一条线程堵塞,也不会堵塞进程继续执行。

        抢占式调度是由操作系统分配和控制,线程是不能控制的。虽然线程执行时间是不能主动申请的,但是,可以建议哪些线程可以多分配一些执行时间。这一项操作是通过线程优先级完成的。

    三、Java线程调度方式

      Java的线程调度采用抢占式进行调度的,Java中线程的执行顺序通过线程优先级进行调整。Java中线程线程优先级分为10级。

  • 相关阅读:
    c++计算器后续(1)
    第七次作业
    第六次作业之计算器图形界面(之骗分)
    C++课堂作业二之反转链表
    第五次作业(计算器第三步之文件输入输出)
    ARP详解和ARP攻击
    网络基础-端口
    网络基础-子网掩码
    Informatica ODBC的使用
    linux7 grub配置文件 linux6 grub配置文件
  • 原文地址:https://www.cnblogs.com/naray/p/15449021.html
Copyright © 2011-2022 走看看