What is multi-threading in Java
π‘ Concept: Multi-threading in Java
Multi-threading allows concurrent execution of two or more threads to maximize CPU utilization and improve application performance.
π Quick Intro
Java supports multi-threading by allowing multiple threads to run concurrently within a program, enabling parallel task execution.
π§ Analogy
Think of multi-threading as a chef multitasking in the kitchenβpreparing multiple dishes simultaneously instead of one after another.
π§ Technical Explanation
- A thread is a lightweight subprocess with its own execution path.
- Java supports multi-threading via
Thread
class andRunnable
interface. - Threads share the same process memory but have separate stacks.
- Multi-threading improves resource utilization and responsiveness.
- Proper synchronization is needed to avoid race conditions.
π― Use Cases
- β Running background tasks like file IO or network operations.
- β Building responsive UI applications.
- β Handling multiple client requests in servers.
- β Parallel processing to reduce computation time.
π» Java Multi-threading Example
public class MyThread extends Thread {
public void run() {
System.out.println("Thread running");
}
}
public class Demo {
public static void main(String[] args) {
MyThread t1 = new MyThread();
t1.start();
}
}

β Interview Q&A
Q1: What is multi-threading?
A: Concurrent execution of multiple threads.
Q2: How to create a thread in Java?
A: Extend Thread class or implement Runnable.
Q3: What is race condition?
A: When threads access shared data simultaneously causing inconsistency.
Q4: What is synchronization?
A: Mechanism to control thread access to shared resources.
Q5: What is deadlock?
A: A situation where threads wait indefinitely for resources.
Q6: Difference between process and thread?
A: Process is independent, thread is lightweight within process.
Q7: What is thread lifecycle?
A: New, Runnable, Running, Waiting, Terminated.
Q8: How to stop a thread?
A: Use flags or interrupt, stop() is deprecated.
Q9: What is daemon thread?
A: Background thread that terminates when all user threads finish.
Q10: What is thread priority?
A: Determines thread execution order.
π MCQs
Q1. What is multi-threading?
- Single execution
- Concurrent execution
- Sequential execution
- None
Q2. How to create a thread in Java?
- Use main method
- Extend Thread class or implement Runnable
- Use Executor
- Use Interface
Q3. What is race condition?
- Deadlock
- Race condition
- Synchronization
- Thread pool
Q4. What is synchronization?
- Multithreading
- Control thread access
- Garbage collection
- Exception handling
Q5. What is deadlock?
- Deadlock
- Livelock
- Starvation
- Race condition
Q6. Difference between process and thread?
- Process is lightweight
- Thread is independent
- Process is independent, thread is lightweight
- None
Q7. What is thread lifecycle?
- Start, Stop
- New, Runnable, Running, Waiting, Terminated
- Created, Dead
- None
Q8. How to stop a thread?
- stop()
- Use flags or interrupt
- kill()
- None
Q9. What is daemon thread?
- User thread
- Daemon thread
- Main thread
- Garbage collector thread
Q10. What is thread priority?
- Low priority
- High priority
- Determines thread execution order
- None
π‘ Bonus Insight
Multi-threading is essential for building efficient and responsive Java applications.
π PDF Download
Need a handy summary for your notes? Download this topic as a PDF!