首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java static 關鍵字經典面試題解析:執行緒 run() 與 start() 差異

     編輯:Java 綜合教學

Java static 關鍵字經典面試題解析:執行緒 run() 與 start() 差異

public class StaticSample {
    public static void main(String[] args) {
        Thread thread = new Thread() {
            public void run() { hai(); }
        };
        thread.run();  // 直接呼叫 run(),非啟動新執行緒
        System.out.print("you");
    }
    static void hai() { System.out.print("hai"); }
}

輸出結果: haiyou

public class StaticSample {
    public static void main(String[] args) {
        Thread thread = new Thread() {
            public void run() { hai(); }
        };
        thread.run();
        System.out.println("you");
    }
    static void hai() { System.out.println("hai"); }
}

輸出結果:

hai
you

關鍵點: 呼叫 thread.run() 只是在主執行緒中同步執行 run() 方法,並未啟動新執行緒;若要啟動新執行緒必須呼叫 thread.start()。static 方法 hai() 可直接由靜態上下文呼叫。println 會換行,print 不換行,故輸出格式不同。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved