多線程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");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM