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

    一、线程调度

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

    二、线程调度方式

      1. 协同式(Cooperative threads-scheduling)

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

        协同式调度的好处:

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

        协同式调度的缺点:

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

      2. 抢占式(Preemptive threads-scheduling)

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

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

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

    三、Java线程调度方式

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

  • 相关阅读:
    PHP设计模式之适配器模式
    PHP设计模式之注册模式
    PHP中 构造函数(__construct)和析构函数(__destruct)
    PHP中 extends、implements、abstract、interface 的区别
    proxysql
    安装xtrabackup并进行全量备份
    锁解析
    索引与算法
    约束
    show语句
  • 原文地址:https://www.cnblogs.com/naray/p/15449021.html
Copyright © 2011-2022 走看看