PGoCareerGoCareer prep tools
Home
LoginSign up
  • Java
  • Python
  • AI
  • React
  • Angular
  • PHP
  • Node.js
  • SQL
  • DSA
  • HTML
  • CSS
  • JS
  • Spring
  • ML
  • MongoDB

Java · Theory

Joining Threads in Java

← All stacks

Theory

114/270

Joining Threads in Java

Joining Threads 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 Joining Threads: 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.

Joining Threads 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. Joining Threads in Java — 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 Joining Threads.

Exam tip

start() vs run() is a classic interview question.

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

Joining Threads in Java — start() schedules the thread; main also prints — order may vary.

Short notes

  • DefJoining Threads — thread = one path of work. start() schedules it. run() does not.
  • RuleJoining Threads — shared data needs synchronization.
  • RememberJoining Threads — sleep = pause. join = wait for other thread.
  • TrapJoining Threads — calling run() instead of start(). Deadlock = locks in wrong order.

Questions

1

What is Joining Threads?

2

Why do we use Joining Threads in Java?

3

Write one small example of Joining Threads.

4

What mistake do beginners make with Joining Threads?

5

Where is Joining Threads used in a real program?

Previous← Calling run() methodNextJava Naming Thread and Current Thread →
P

GoCareerGo

Utilities · Preparation Hub · Resume · CV · Tools — one workspace.

Workspace

DashboardProfilePreparation HubResume builderCV builderCareer planning

PDF Tools

Merge PDFSplit PDFCompress PDFImage to PDFAll toolsJobs

Image & QR

Compress ImageResize ImageQR ScannerQR GeneratorBlogIT interview prep

Company

FAQFeedbackContactPrivacyTermsSitemap

© 2026 GoCareerGo. Keep moving forward.