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

    线程对象在不同时期有不同的状态,该状态信息存在于Thread.State这个枚举类中

     1 public enum State {
     2     /**
     3      * Thread state for a thread which has not yet started.
     4      */
     5     NEW,
     6 
     7     /**
     8      * Thread state for a runnable thread.  A thread in the runnable
     9      * state is executing in the Java virtual machine but it may
    10      * be waiting for other resources from the operating system
    11      * such as processor.
    12      */
    13     RUNNABLE,
    14 
    15     /**
    16      * Thread state for a thread blocked waiting for a monitor lock.
    17      * A thread in the blocked state is waiting for a monitor lock
    18      * to enter a synchronized block/method or
    19      * reenter a synchronized block/method after calling
    20      * {@link Object#wait() Object.wait}.
    21      */
    22     BLOCKED,
    23 
    24     /**
    25      * Thread state for a waiting thread.
    26      * A thread is in the waiting state due to calling one of the
    27      * following methods:
    28      * <ul>
    29      *   <li>{@link Object#wait() Object.wait} with no timeout</li>
    30      *   <li>{@link #join() Thread.join} with no timeout</li>
    31      *   <li>{@link LockSupport#park() LockSupport.park}</li>
    32      * </ul>
    33      *
    34      * <p>A thread in the waiting state is waiting for another thread to
    35      * perform a particular action.
    36      *
    37      * For example, a thread that has called <tt>Object.wait()</tt>
    38      * on an object is waiting for another thread to call
    39      * <tt>Object.notify()</tt> or <tt>Object.notifyAll()</tt> on
    40      * that object. A thread that has called <tt>Thread.join()</tt>
    41      * is waiting for a specified thread to terminate.
    42      */
    43     WAITING,
    44 
    45     /**
    46      * Thread state for a waiting thread with a specified waiting time.
    47      * A thread is in the timed waiting state due to calling one of
    48      * the following methods with a specified positive waiting time:
    49      * <ul>
    50      *   <li>{@link #sleep Thread.sleep}</li>
    51      *   <li>{@link Object#wait(long) Object.wait} with timeout</li>
    52      *   <li>{@link #join(long) Thread.join} with timeout</li>
    53      *   <li>{@link LockSupport#parkNanos LockSupport.parkNanos}</li>
    54      *   <li>{@link LockSupport#parkUntil LockSupport.parkUntil}</li>
    55      * </ul>
    56      */
    57     TIMED_WAITING,
    58 
    59     /**
    60      * Thread state for a terminated thread.
    61      * The thread has completed execution.
    62      */
    63     TERMINATED;
    64 }

    截图自JDK1.8的API

    截自《Java多线程编程核心技术》

  • 相关阅读:
    【shell】sed指定追加模式空间的次数
    【shell】sed后向引用替换文本
    【c++】一道关于继承和析构的笔试题
    【curl】cookie的分隔符
    【shell】grep使用正则表达式
    【leetcode】Remove Duplicates from Sorted Array
    【shell】awk格式对齐文本
    【shell】sed处理多行合并
    【leetcode】Permutations
    BWSAP BW Performance Tuning URLS LIST
  • 原文地址:https://www.cnblogs.com/qf123/p/9770981.html
Copyright © 2011-2022 走看看