Multitasking Using Threads
1. What It Is (beginner — real power!)
Multitasking = MANY threads together (music + download + UI!). Shared Heap, own stacks. Faster + responsive! Java's home ground!
class Task implements Runnable {
String name;
Task(String n) { name = n; }
public void run() {
for (int i = 1; i <= 3; i++) {
System.out.println(name + ":" + i);
try { Thread.sleep(200); } catch (InterruptedException e) {}
}
}
}
new Thread(new Task("music")).start();
new Thread(new Task("download")).start();
new Thread(new Task("chat")).start();
// Output MIXED! (music:1, download:1, chat:1, music:2... — scheduler order!)
// Total ~0.6s (parallel!) vs 1.8s sequential!
Priorities 1-10 (NORM=5). Scheduler MAY prefer high (OS decides!).
5. Exam Points
- Three-thread program + mixed output — 7 marks, very frequent.
- Race idea + priority hint — 3-5 marks, frequent.