Home  >  Article  >  Java  >  What happens if we directly call the run() method in Java?

What happens if we directly call the run() method in Java?

PHPz
PHPzforward
2023-09-08 14:57:021364browse

What happens if we directly call the run() method in Java?

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

  • Construct a thread > object using Runnable and call Thread on start() Method.
  • Define a subclass of the Thread object and override the definition of its run() method. Then construct an instance of the subclass and call the instance's start() method directly.

Example

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".

Output

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!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete