多线程01.newThread的方式创建线程

1.java应用程序的main函数是一个线程,是被jvm启动的时候调用,线程的名字叫main
2.实现一个线程,必须创建一个thread实例,override run方法,并且调用start方法。
3.在jvm启动后,实际 上有多个线程,但是至少有一个非守护线程。
4.当你调用一个线程start方法的时候,此时至少有两个线程,一个是调用你的线程,还有一个是执行run方法的线程
5.线程的生命周期分为new,runnable,running,block,termate.
public class Mythread {
    public static void main(String[] args) {

        //使用匿名内部类的方式执行多线程
     Thread th1= new Thread("custom"){
         @Override
         public  void run(){
        for(int i=0;i<100;i++){
            System.out.println(Thread.currentThread().getName()+"使用匿名内部类的方式创建多线程=>"+i);
        }
         }

     };//start调用了底层c++的方法,重写run方法,使用的是模板方法模式。
     th1.start();
        th1.start();//不能调用start两次
        for(int i=0;i<100;i++){
            System.out.println(Thread.currentThread().getName()+"使用普通的main进行打印=>"+i);
        }


    }
}

模板方法模式案例:

public abstract class TemplateMethod {
    public final  void print(String message){
        System.out.println("###################");
        wrapPrint(message);
        System.out.println("###################");
    }

    protected abstract void wrapPrint(String message);

    public static void main(String[] args) {
        TemplateMethod t1=    new TemplateMethod(){
            @Override
            protected  void wrapPrint(String message){
                System.out.println("##"+message+"##");
            };
        };
        t1.print("hello thread");
    }
}

 

posted @ 2019-04-03 11:30  三号小玩家  阅读(10351)  评论(0编辑  收藏  举报
Title
三号小玩家的 Mail: 17612457115@163.com, 联系QQ: 1359720840 微信: QQ1359720840