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

    线程特点

    • 线程在给定的时间点只能处于一个状态。 这些状态是虚拟机状态,不反映任何操作系统线程状态。
    • Java 的线程状态在 java.lang.Thread.State 枚举类中
    • Java 线程共有 6 中状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED
    public enum State {
        NEW,
    
        RUNNABLE,
    
        BLOCKED,
    
        WAITING,
    
        TIMED_WAITING,
    
        TERMINATED;
    }
    

    线程状态

    Thread thread = new Thread();

    NEW

    Thread state for a thread which has not yet started.

    RUNNABLE

    Thread state for a runnable thread.
    A thread in the runnable state is executing in the Java virtual machine but it may be waiting for other resources from the operating system such as processor.

    BLOCKED

    Thread state for a thread blocked waiting for a monitor lock.
    A thread in the blocked state is waiting for a monitor lock to enter a synchronized block/method or reenter a synchronized block/method after calling Object.wait.

    WAITING

    Thread state for a waiting thread.

    A thread is in the waiting state due to calling one of the following methods:

    • Object.wait with no timeout
    • Thread.join with no timeout
    • LockSupport.park

    A thread in the waiting state is waiting for another thread to perform a particular action.
    For example, a thread that has called Object.wait() on an object is waiting for another thread to call Object.notify() or Object.notifyAll() on that object. A thread that has called Thread.join() is waiting for a specified thread to terminate.

    TIMED_WAITING

    Thread state for a waiting thread with a specified waiting time.
    A thread is in the timed waiting state due to calling one of the following methods with a specified positive waiting time:

    • Thread.sleep
    • Object.wait with timeout
    • Thread.join with timeout
    • LockSupport.parkNanos
    • LockSupport.parkUntil

    TERMINATED

    Thread state for a terminated thread. The thread has completed execution.

  • 相关阅读:
    Docker最全教程之MySQL容器化 (二十四)
    Docker最全教程之使用Node.js搭建团队技术文档站(二十三)
    Docker最全教程之使用PHP搭建个人博客站点(二十二)
    构建自己的简单微服务架构(开源)
    使用Jmeter进行http接口测试
    Appium 服务关键字
    Appium入门示例(Java)
    Appium for win7 环境搭建
    android adb常用指令
    Android测试环境搭建(win7)
  • 原文地址:https://www.cnblogs.com/newber/p/14247525.html
Copyright © 2011-2022 走看看