线程状态观测

线程状态观测
1.五种线程状态
  1. new 尚未启动的线程处于此状态。

  2. Runnable 在Java虚拟机种执行的线程处于此状态。

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

  4. Time_waiting 正在等待另一个线程动作打到指定等待时间的线程所处的状态

  5. Terminated 已退出线程处于状态。(线程终断或者结束,一旦进入死亡状态,就不能再次启动)

// 观察测试线程状态
public class TestState {
   public static void main(String[] args) throws InterruptedException {
       Thread thread= new Thread(() -> {
           for (int i = 0; i < 5; i++) {
               try {
                   Thread.sleep(100);
              } catch (InterruptedException e) {
                   throw new RuntimeException(e);
              }
               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);
      }
  }

}
 

 

posted @   Y~~~  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示