java如何获取线程状态

45次阅读
没有评论

共计 1074 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,可以使用 Thread 类的 getState() 方法来获取线程的状态。Thread 类中定义了一个枚举类 Thread.State,表示线程的不同状态,常见的有:
1. NEW:初始状态,线程被创建但还没有调用 start() 方法。
2. RUNNABLE:运行状态,线程正在执行中。
3. BLOCKED:阻塞状态,线程被阻塞等待锁的释放。
4. WAITING:等待状态,线程等待其他线程的通知。
5. TIMED_WAITING:超时等待状态,线程等待一段时间后自动恢复。
6. TERMINATED:终止状态,线程执行完毕或被意外终止。
下面是一个示例代码,演示了如何获取线程的状态:
java
public class ThreadStatusExample {

   public static void main(String[] args) {

       Thread thread = new Thread(() -> {

           try {

               Thread.sleep(1000); // 让线程休眠 1 秒钟

           } catch (InterruptedException e) {

               e.printStackTrace();

           }

       });

       System.out.println(" 线程状态:" + thread.getState()); // 输出 NEW

       thread.start(); // 启动线程

       System.out.println(" 线程状态:" + thread.getState()); // 输出 RUNNABLE

       try {

           Thread.sleep(500); // 让主线程休眠 0.5 秒钟

       } catch (InterruptedException e) {

           e.printStackTrace();

       }

       System.out.println(" 线程状态:" + thread.getState()); // 输出 TIMED_WAITING

       try {

           thread.join(); // 等待线程执行完毕

       } catch (InterruptedException e) {

           e.printStackTrace();

       }

       System.out.println(" 线程状态:" + thread.getState()); // 输出 TERMINATED

   }
}

在上面的代码中,通过调用 Thread 的 getState() 方法,可以获取线程的状态,并输出相应的结果。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计1074字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)