起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > Java线程监控的示例

Java线程监控的示例

时间:2022-08-14 14:43:43来源:零基础学Java 作者:Java学习网 已有: 名学员访问该课程

  快捷搜索:java线程监控

前言: 问题描述 如何监控线程的状态? 解决方案 以下示例演示了如何通过扩展 Thread 类并使用 currentThread.getName() 方法来监视

问题描述

如何监控线程的状态?

解决方案

以下示例演示了如何通过扩展 Thread 类并使用 currentThread.getName() 方法来监视线程的状态。

class MyThread extends Thread {
   boolean waiting = true;
   boolean ready = false;
   MyThread() {
   }
   public void run() {
      String thrdName = Thread.currentThread().getName();
      System.out.println(thrdName + " starting.");
      while(waiting) System.out.println("waiting:"+waiting); 
      System.out.println("waiting...");
      startWait(); 
      try {
         Thread.sleep(1000);
      } catch(Exception exc) {
         System.out.println(thrdName + " interrupted.");
      }
      System.out.println(thrdName + " terminating.");
   }
   synchronized void startWait() {
      try {
         while(!ready) wait();
      } catch(InterruptedException exc) {
         System.out.println("wait() interrupted");
      }
   }
   synchronized void notice() {
      ready = true;
      notify();
   }
}
public class new_class {
   public static void main(String args[]) throws Exception {
      MyThread thrd = new MyThread();
      thrd.setName("MyThread #1");
      showThreadStatus(thrd);
      thrd.start();      
      Thread.sleep(50);
      showThreadStatus(thrd);
      thrd.waiting = false;      
      Thread.sleep(50); 
      showThreadStatus(thrd);
      thrd.notice();      
      Thread.sleep(50);
      showThreadStatus(thrd);      
      while(thrd.isAlive()) 
      System.out.println("alive");
      showThreadStatus(thrd);
   }
   static void showThreadStatus(Thread thrd) {
      System.out.println(thrd.getName()+"  Alive:="+thrd.isAlive()+" State:=" + thrd.getState() );
   }
}

结果

上面的代码示例将产生以下结果。

main Alive=true State:=running

 

文章出自:http://qh.itpxw.cn/peixun/software/2022123693.html

文章标题:Java线程监控的示例



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

你也许会喜欢如下的文章?
(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容