Directly calling the run() method of the Thread object will not start a separate thread , and can be executed within the current thread . To execute Runnable.run from a separate thread, do one of the following
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"); } }
In the above example, the main thread ThreadRunMethodTest uses the run() method to call the child thread MyThread. This causes the child thread to run to completion before the rest of the main thread executes, so that "Child Thread" is printed before "Main Thread".
Child Thread Main Thread
The above is the detailed content of What happens if we directly call the run() method in Java?. For more information, please follow other related articles on the PHP Chinese website!