Java_Thread的六种状态

/**

     * A thread state.  A thread can be in one of the following states: 

     * <ul>

     * <li>{@link #NEW}<br>

     *     A thread that has not yet started is in this state.

     *     </li>

     * <li>{@link #RUNNABLE}<br>

     *     A thread executing in the Java virtual machine is in this state. 

     *     </li>

     * <li>{@link #BLOCKED}<br>

     *     A thread that is blocked waiting for a monitor lock 

     *     is in this state. 

     *     </li>

     * <li>{@link #WAITING}<br>

     *     A thread that is waiting indefinitely for another thread to 

     *     perform a particular action is in this state. 

     *     </li>

     * <li>{@link #TIMED_WAITING}<br>

     *     A thread that is waiting for another thread to perform an action 

     *     for up to a specified waiting time is in this state. 

     *     </li>

     * <li>{@link #TERMINATED}<br> 

     *     A thread that has exited is in this state.

     *     </li>

     * </ul>

     *

     * <p>

     * A thread can be in only one state at a given point in time. 

     * These states are virtual machine states which do not reflect

     * any operating system thread states.

     * 

     * @since   1.5

     * @see #getState

     */

    public enum State {

        /**

         * Thread state for a thread which has not yet started.

         */

        NEW,

        

        /**

         * 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.

         */

        RUNNABLE,

        

        /**

         * 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

         * {@link Object#wait() Object.wait}.

         */

        BLOCKED,

    

        /**

         * Thread state for a waiting thread.

         * A thread is in the waiting state due to calling one of the 

         * following methods:

         * <ul>

         *   <li>{@link Object#wait() Object.wait} with no timeout</li>

         *   <li>{@link #join() Thread.join} with no timeout</li>

         *   <li>{@link LockSupport#park() LockSupport.park}</li>

         * </ul>

         * 

         * <p>A thread in the waiting state is waiting for another thread to

         * perform a particular action.  

         *

         * For example, a thread that has called <tt>Object.wait()</tt>

         * on an object is waiting for another thread to call 

         * <tt>Object.notify()</tt> or <tt>Object.notifyAll()</tt> on 

         * that object. A thread that has called <tt>Thread.join()</tt> 

         * is waiting for a specified thread to terminate.

         */

        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:

         * <ul>

         *   <li>{@link #sleep Thread.sleep}</li>

         *   <li>{@link Object#wait(long) Object.wait} with timeout</li>

         *   <li>{@link #join(long) Thread.join} with timeout</li>

         *   <li>{@link LockSupport#parkNanos LockSupport.parkNanos}</li> 

         *   <li>{@link LockSupport#parkUntil LockSupport.parkUntil}</li>

         * </ul>

         */

        TIMED_WAITING,

 

        /**

         * Thread state for a terminated thread.

         * The thread has completed execution.

         */

        TERMINATED;

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值