Introduction to Threads in Java
Understanding Multithreading and Its
Uses
What is a Thread?
• A thread is a lightweight sub-process that
allows concurrent execution of tasks.
• It runs within a program and shares the same
memory space.
• Java provides multithreading using the Thread
class or Runnable interface.
• Helps achieve multitasking efficiently.
Uses of Threads in Java
• To perform multiple operations
simultaneously.
• For faster execution and improved
performance.
• Used in games, animations, and background
processes.
• Enhances responsiveness in GUI applications.
Ways to Create Threads
11️⃣By extending the Thread class.
2️⃣By implementing the Runnable interface.
Both methods override the run() method
containing the thread logic.
Example 1 — Extending Thread
Class
class MyThread extends Thread {
public void run() {
[Link]("Thread is running...");
}
public static void main(String args[]) {
MyThread t1 = new MyThread();
[Link]();
}
}
Example 2 — Implementing
Runnable Interface
class MyRunnable implements Runnable {
public void run() {
[Link]("Thread is running using
Runnable...");
}
public static void main(String args[]) {
Thread t1 = new Thread(new MyRunnable());
[Link]();
}
}
Common Thread Methods
• start() — Starts a new thread.
• run() — Defines the code to execute.
• sleep(ms) — Suspends execution for given
time.
• join() — Waits for another thread to finish.
• isAlive() — Checks if thread is still running.
Example — Using sleep() and join()
class TestSleepJoin extends Thread {
public void run() {
for(int i=1; i<=5; i++) {
try { [Link](500); } catch(Exception e){ [Link](e); }
[Link](i);
}
}
public static void main(String args[]) {
TestSleepJoin t1 = new TestSleepJoin();
TestSleepJoin t2 = new TestSleepJoin();
[Link]();
try { [Link](); } catch(Exception e){ [Link](e); }
[Link]();
}
}
Advantages of Multithreading
• Enhances performance through parallel
execution.
• Saves time as multiple tasks share memory.
• Improves user experience in responsive apps.
• Efficient utilization of multi-core processors.
Summary
• Threads allow concurrent task execution in
Java.
• Can be created using Thread or Runnable.
• Key methods: start(), run(), sleep(), join().
• Widely used in servers, games, and GUI
systems.