线程监控
public class WW {
public static void main(String[] args) {
// TODO 自动生成的方法存根
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{ //创建线程类Runnable,实现Runnable接口
String name;
Thread t;
MyThread(String th){ //创建属于类Thread得线程的对象
name=th;
t=new Thread(this,th);
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+" 正在退出。。。");
}
}
运行结果:
知识要点:
1)线程的生命周期
2)线程的优先级和调度策略
3)线程状态的改变