zoukankan      html  css  js  c++  java
  • 002 线程的状态

    一.概述

      线程的生命周期之中,会由不同的状态进行转换,理解这些状态的概念可以帮助理解线程的运行过程.


     二 .线程状态

    在Thread类之中,存在一个内部类Status(实际是一个枚举类),这个类描述了线程的状态.

    public enum State {      
            NEW,
            RUNNABLE,
     
            BLOCKED,
          
            WAITING,
           
            TIMED_WAITING,
    
            TERMINATED;
        }

    在这个类之中定义线程的六个状态.其中,runnable状态包括我们的说的运行状态和就绪状态,因为这两个状态的切换是由JVM决定的,我们可以理解为一个状态.

    [1]NEW: 线程对象创建之后的状态,此时线程没有调用start()方法.

    [2]Runnable:线程对象处于可运行状态,是否正在运行取决于时间片是否已经分配.

    [3]Block:阻塞状态.一般情况下是由于线程抢夺锁资源不成功,进入了阻塞队列之中.

    [4]wating : 等待状态,一般是线程自己放弃时间片进入等待状态,在没有其他线程的唤醒时,此线程一直处于等待队列之中.

    [5]time-wait: 休眠状态,一般是线程自己主动休眠进入的状态,当时间过去之后,线程自动进入可运行状态.诸如sleep,wait这样的方法都可能进入到该状态之中.

    [6]terminated: 终结状态,一般是由线程出现异常或者完全运行完成进入到的状态之中.

  • 相关阅读:
    原生js的ajax请求
    如何将一个div水平垂直居中
    python 面向对象(进阶篇)
    Python 面向对象(初级篇)
    python 之 XML的基本应用总结
    python 之 json 与pickle 模块
    python 之configparser模块
    python 中logging模块
    python hashillb 模块
    python sys模块
  • 原文地址:https://www.cnblogs.com/trekxu/p/8995482.html
Copyright © 2011-2022 走看看