Calling run() method — Java Technical Interview Questions & Answers

Calling run() method

Calling run() method

  • Calling run() method is part of Java concurrency. A thread is a path of work inside a process. Create with Thread or Runnable, then call start() — not run(). run() only runs on the same thread.
  • For Calling run() method: if two threads share data, synchronize or the result can be wrong. sleep pauses. join waits for another thread to finish. daemon threads die when all user threads finish.
  • Calling run() method deadlock: two threads wait for each other’s lock forever. Avoid by locking in the same order. Don’t guess thread order — it can change every run.
  • Let's take this on the board with one tiny Main class — no extra files. Calling run() method — start() schedules the thread; main also prints — order may vary. Start from main, go line by line, and stop at each print. That output is the proof for Calling run() method.

Technical Interview Tip: start() vs run() is a classic interview question.

Code Examples for Calling run() method

Example

// Thread demo
public class Main {
  public static void main(String[] args) {
    Thread t = new Thread(() -> System.out.println("Hi from thread"));
    t.start();
    System.out.println("Hi from main");
  }
}

Calling run() method — start() schedules the thread; main also prints — order may vary.

How to Explain Calling run() method to an Interviewer

What is Calling run() method?

Calling run() method — thread = one path of work. start() schedules it. run() does not. Calling run() method — shared data needs synchronization. Calling run() method — sleep = pause. join = wait for other thread.

Why do we use Calling run() method in Java?

Makes the program clearer or safer Calling run() method — thread = one path of work. start() schedules it. run() does not.

Write one small example of Calling run() method.

Show syntax Say what prints

What mistake do beginners make with Calling run() method?

Only the name, no example Calling run() method — calling run() instead of start(). Deadlock = locks in wrong order.

Where is Calling run() method used in a real program?

Day-to-day Java code