码迷,mamicode.com
首页 > 编程语言 > 详细

线程状态观测

时间:2020-10-18 10:20:42      阅读:25      评论:0      收藏:0      [点我收藏+]

标签:new t   阻塞   try   RoCE   pac   虚拟   art   trace   线程状态   

线程状态观测

线程状态。线程可以处于以下状态之一:

  • NEW

    尚未启动的线程处于此状态。

  • RUNNABLE

    在Java虚拟机中执行的线程处于此状态。

  • BLOCKED

    被阻塞等待监视器锁定的线程处于此状态。

  • WAITING

    正在等待另一个线程执行特定动作的线程处于此状态。

  • TIMED_WAITING

    正在等待另一个线程执行动作达到指定等待时间的线程处于此状态。

  • TERMINATED

    已退出的线程处于此状态。

package MultiProcess;

//观察测试线程的状态
public class ThreadState {
    public static void main(String[] args) throws InterruptedException{
        Thread thread = new Thread (()->{
            for (int i = 0; i < 5; i++) {

                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("******");
        }) ;

        //观测状态
        Thread.State state = thread.getState();
        System.out.println(state);

        //观察启动后
        thread.start();
        state = thread.getState();
        System.out.println(state);

        while(state != Thread.State.TERMINATED){
            Thread.sleep(100);
            state = thread.getState(); //更新线程状态
            System.out.println(state);
        }
    }
}

结果
NEW
RUNNABLE
TIMED_WAITING
TIMED_WAITING
...
TIMED_WAITING
TIMED_WAITING
******
TERMINATED

线程状态观测

标签:new t   阻塞   try   RoCE   pac   虚拟   art   trace   线程状态   

原文地址:https://www.cnblogs.com/happysml/p/13833164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!