From 0f0d1659e74cdcbcc055428d31d4e0001df3c4f8 Mon Sep 17 00:00:00 2001 From: ShayanEdalatjoo Date: Thu, 25 Jun 2026 10:46:36 +0330 Subject: [PATCH] Adding timeout example --- .idea/.gitignore | 10 +++++++++ .idea/compiler.xml | 13 +++++++++++ .idea/encodings.xml | 7 ++++++ .idea/jarRepositories.xml | 20 +++++++++++++++++ .idea/misc.xml | 12 ++++++++++ .idea/vcs.xml | 6 +++++ .../lecture/multithreading/timeout/Main.java | 18 +++++++++++++-- .../multithreading/timeout/MyRunnable.java | 22 +++++++++++++++++++ 8 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 src/main/java/lecture/multithreading/timeout/MyRunnable.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..a590144 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..a9076af --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..eba6e1f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/lecture/multithreading/timeout/Main.java b/src/main/java/lecture/multithreading/timeout/Main.java index 8258073..7e071df 100644 --- a/src/main/java/lecture/multithreading/timeout/Main.java +++ b/src/main/java/lecture/multithreading/timeout/Main.java @@ -1,10 +1,24 @@ 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 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(); } } - 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..5ba28ba --- /dev/null +++ b/src/main/java/lecture/multithreading/timeout/MyRunnable.java @@ -0,0 +1,22 @@ +package lecture.multithreading.timeout; + +public class MyRunnable implements Runnable{ + + @Override + public void run(){ + + for (int i = 1; i <= 10 ; i++){ + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + System.out.println("thread was interrupted"); + } + + if(i == 10){ + System.out.println("time is up"); + System.exit(0); + } + + } + } +} \ No newline at end of file