线程监控

来源:互联网 发布:python写上位机 wifi 编辑:程序博客网 时间:2024/05/28 23:21
package a;public class da {    public static void main(String[] args) {        // TODO Auto-generated method stub        MyThread mt=new MyThread("线程MyThread");//创建线程类MyThread的对象        System.out.println("-----------------------------------");        System.out.println("线程MyThread 是否处于运行状态:"+mt.t.isAlive());                    //查看线程的状态,判断它是否处于运行状态        try{//等待线程结束        System.out.println("-----------------------------------");        System.out.println("等待线程结束...");        mt.t.join();        }        catch(InterruptedException e){        System.out.println("出现错误,线程中段!");        }        System.out.println("-----------------------------------");        System.out.println("线程MyThread 是否处于运行状态:"+mt.t.isAlive());        System.out.println("-----------------------------------");        System.out.println("线程正在退出...");        }        }        class MyThread implements Runnable{//创建线程类MyThread,实现Runnable接口        String name;        Thread t;        MyThread(String th){        name=th;        t=new Thread(this,th);//创建属于类Thread的线程对象        System.out.println("创建线程:"+th);        t.start();//启动线程        }        public void run(){//重写方法run(),线程休眠一段时间后退出        try{        Thread.sleep(1000);        }        catch(InterruptedException e){        System.out.println(name+"中断");        }        System.out.println("-----------------------------------");        System.out.println(name+"正在退出...");        }    }

运行结果:
这里写图片描述

知识要点:
。线程的生命周期
线程具有5个状态:
1。新建:创建一个属于类Thread的线程对象
2。就绪:创建好的线程并不会直接运行,如果要执行该线程,则必须调用线程Stare()
3。运行:处于就绪状态的线程在获得CPU的使用时间后,线程就进入了运行状态,真正开始执行方法Run()
4。阻塞:线程在运行过程中,可能会由于某些原因而导致线程进入阻塞状态。
5。死亡:死亡状态是指线程正常运行结束,方法Run()返回后,线程就处于死亡状态。

。线程的优先级和调度策略
Java的每个线程都有一个优先级,在单CPU的计算机中,由于在某一个时刻只能有一个线程正在运行,所以当有多个线程处于就绪状态时,线程调度程序会根据每个线程的优先级,进行线程运行先后的调度

。线程状态的改变

原创粉丝点击