feat: Add comprehensive examples from multithreading and hashing lectures

This commit is contained in:
2026-05-24 15:46:45 +03:30
parent 6583799d9e
commit 83746b88f6
13 changed files with 314 additions and 39 deletions
@@ -0,0 +1,35 @@
package lecture.multithreading.basics;
public class InterruptExample {
public static void main(String[] args) throws InterruptedException {
Thread worker = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("👷 Worker started...");
try {
for (int i = 1; i <= 10; i++) {
System.out.println(" worker: stage " + i);
Thread.sleep(1000); // Each step takes 1 second
}
} catch (InterruptedException e) {
System.out.println("🛑 Worker: Hey! Someone cut me off!");
System.out.println("👷 Worker: OK, I'm finishing...");
}
System.out.println("👷 Goodbye worker!");
}
});
worker.start();
Thread.sleep(6500); // Let the worker work for 6.5 seconds
System.out.println("💀 Main thread: That's enough! Cut it!");
worker.interrupt(); // Tells the worker to stop
worker.join();
System.out.println("Everything is finished!");
}
}