文章标题
2017-11-15 21:39
369 查看
package dan; public class AliveAndJoin { public static void main(String[] args) { // TODO Auto-generated method stub MyThread mt=new 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+"正在退出..."); } }
运行结果:
知识点:
1.线程的生命周期
2.线程的优先级和调度策略
3.线程状态的改变