直接呼叫Thread 物件的 run() 方法不會啟動單獨的執行緒,並且可以在目前執行緒內執行。要從單獨的執行緒執行Runnable.run,請執行下列操作之一
public class ThreadRunMethodTest { public static void main(String args[]) { MyThread runnable = new MyThread(); runnable.run(); // Call to run() method does not start a separate thread System.out.println("Main Thread"); } } class MyThread extends Thread { public void run() { try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println("Child Thread interrupted."); } System.out.println("Child Thread"); } }
在上面的範例中,主執行緒 ThreadRunMethodTest 使用 run() 方法呼叫子執行緒 MyThread#。這會導致子執行緒在主執行緒的其餘部分執行之前運行完成,以便在「Main Thread」之前列印「Child Thread」。
Child Thread Main Thread##
以上是如果我們直接呼叫Java中的run()方法會發生什麼事?的詳細內容。更多資訊請關注PHP中文網其他相關文章!