From 8406ceaaa84c804512d3524eb4e19d6d571ffb3e Mon Sep 17 00:00:00 2001 From: Soroush Date: Mon, 1 Jun 2026 18:39:19 +0330 Subject: [PATCH] Workshop-7 --- .../lecture/multithreading/timeout/Main.java | 20 ++++++++++++++---- .../multithreading/timeout/MyRunnable.java | 21 +++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 src/main/java/lecture/multithreading/timeout/MyRunnable.java diff --git a/src/main/java/lecture/multithreading/timeout/Main.java b/src/main/java/lecture/multithreading/timeout/Main.java index 8258073..ce235db 100644 --- a/src/main/java/lecture/multithreading/timeout/Main.java +++ b/src/main/java/lecture/multithreading/timeout/Main.java @@ -1,10 +1,22 @@ package lecture.multithreading.timeout; - +import java.util.Scanner; public class Main { public static void main(String[] args) { - // TODO - } -} + Scanner scanner = new Scanner(System.in); + System.out.println("You Only Have 10 Seconds..."); + System.out.print("Enter Your Name: "); + + MyRunnable myRunnable = new MyRunnable(); + Thread thread = new Thread(myRunnable); + thread.setDaemon(true); + thread.start(); + + String name = scanner.nextLine(); + System.out.println("Hello " + name + "!"); + + scanner.close(); + } +} \ No newline at end of file diff --git a/src/main/java/lecture/multithreading/timeout/MyRunnable.java b/src/main/java/lecture/multithreading/timeout/MyRunnable.java new file mode 100644 index 0000000..be268ab --- /dev/null +++ b/src/main/java/lecture/multithreading/timeout/MyRunnable.java @@ -0,0 +1,21 @@ +package lecture.multithreading.timeout; + +public class MyRunnable implements Runnable { + + @Override + public void run() { + for (int i = 0; i <= 10; i++) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + System.out.println("Thread Was Interrupted"); + } + + if (i == 10) { + System.out.println("\nTime is Up!"); + //System.out.println("Time is Up!"); + System.exit(0); + } + } + } +} \ No newline at end of file