commit 54e159b6d5c3c16787d3383bf6e17f9ae50414a6 Author: 2wenty1ne Date: Mon Oct 14 18:00:36 2024 +0200 Finished assigment diff --git a/src/src/MyWorker.java b/src/src/MyWorker.java new file mode 100644 index 0000000..137b2e5 --- /dev/null +++ b/src/src/MyWorker.java @@ -0,0 +1,11 @@ +class MyWorker implements Runnable { + private Thread self; + + @Override + public void run() { + this.self = Thread.currentThread(); + while (true) { + System.out.println(this.self.getName() + ": ID => " + this.self.threadId()); + } + } +} \ No newline at end of file diff --git a/src/src/MyWorkerCoop.java b/src/src/MyWorkerCoop.java new file mode 100644 index 0000000..064a44a --- /dev/null +++ b/src/src/MyWorkerCoop.java @@ -0,0 +1,12 @@ +class MyWorkerCoop implements Runnable { + private Thread self; + + @Override + public void run() { + this.self = Thread.currentThread(); + while (true) { + System.out.println(this.self.getName() + ": ID => " + this.self.threadId()); + Thread.yield(); + } + } +} \ No newline at end of file diff --git a/src/src/Starter.java b/src/src/Starter.java new file mode 100644 index 0000000..f6e4078 --- /dev/null +++ b/src/src/Starter.java @@ -0,0 +1,11 @@ +public class Starter { + static int WORKERS = 200; + + public static void main(String... args) { + for (var i = 0; i < Starter.WORKERS; i++) { +// var t = new Thread(new MyWorker(), String.format("Worker-%03d", i)); + var t = new Thread(new MyWorkerCoop(), String.format("Worker-%03d", i)); + t.start(); + } + } +} \ No newline at end of file diff --git a/src/src/StarterInner.java b/src/src/StarterInner.java new file mode 100644 index 0000000..c716c01 --- /dev/null +++ b/src/src/StarterInner.java @@ -0,0 +1,20 @@ +public class StarterInner { + static int WORKERS = 200; + + public static void main(String[] args) { + for (var i = 0; i < Starter.WORKERS; i++) { + var t = new Thread(new Runnable() { + private Thread self; + + @Override + public void run() { + this.self = Thread.currentThread(); + while(true) { + System.out.println(this.self.getName() + ": ID => " + this.self.threadId()); + } + } + }, String.format("Worker-%03d", i)); + t.start(); + } + } +} diff --git a/src/src/StarterLambda.java b/src/src/StarterLambda.java new file mode 100644 index 0000000..c5c261f --- /dev/null +++ b/src/src/StarterLambda.java @@ -0,0 +1,17 @@ +public class StarterLambda { + static int WORKERS = 200; + + public static void main(String... args) { + for (var i = 0; i < Starter.WORKERS; i++) { + var t = new Thread( + () -> { + var self = Thread.currentThread(); + while(true) { + System.out.println(self.getName() + ": ID => " + self.threadId()); + } + },String.format("Worker-%03d", i)); + + t.start(); + } + } +}