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

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

PHPz
Release: 2023-09-08 14:57:02
forward
1452 people have browsed it

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");
   }
}
Copy after login

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
Copy after login

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!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template