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/dev/Main.java b/src/main/java/dev/Main.java
index 19ca657..ebeab12 100644
--- a/src/main/java/dev/Main.java
+++ b/src/main/java/dev/Main.java
@@ -33,31 +33,37 @@ public class Main {
List data = FileManager.loadStudents("students.txt");
- // TODO:
+ int size = data.size();
- // Split data into 3 parts
+ int partSize = size / 3;
- List part1 = null;
+ List part1 = data.subList(0, partSize);
- List part2 = null;
+ List part2 = data.subList(partSize, 2 * partSize);
- List part3 = null;
+ List part3 = data.subList(2 * partSize, size);
- // TODO:
- StudentLoader t1 = null;
- StudentLoader t2 = null;
+ StudentLoader t1 = new StudentLoader(part1);
- StudentLoader t3 = null;
+ StudentLoader t2 = new StudentLoader(part2);
- // TODO:
+ StudentLoader t3 = new StudentLoader(part3);
- // start()
+ t1.start();
+ t2.start();
+ t3.start();
- // join()
+ t1.join();
+ t2.join();
+ t3.join();
- // merge results
+ manager.addStudents(t1.getStudents());
+ manager.addStudents(t2.getStudents());
+ manager.addStudents(t3.getStudents());
+
+ System.out.println("Data loaded successfully.");
}
diff --git a/src/main/java/lecture/multithreading/timeout/Main.java b/src/main/java/lecture/multithreading/timeout/Main.java
index 8258073..239c661 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 second: ");
+ System.out.println("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
index 94e7093..3ff59ca 100644
--- a/src/main/java/lecture/multithreading/timeout/MyRunnable.java
+++ b/src/main/java/lecture/multithreading/timeout/MyRunnable.java
@@ -1,4 +1,19 @@
package lecture.multithreading.timeout;
-public class MyRunnable {
+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);
+ }
+ }
+ }
}