commit ec6b59ca803013a1d0f5f7866a4428c3f7a263de
parent 7c94a1db33beb476f260d29527ba8b7a6689b3a2
Author: William Lindholm <william_lindholm@outlook.com>
Date: Mon, 20 Feb 2023 14:28:04 +0100
Added Timertask and Threading functionality for Worker class
Diffstat:
2 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/OOP2023_a22willi_a21liltr_assignment3/src/fika/Main.java b/OOP2023_a22willi_a21liltr_assignment3/src/fika/Main.java
@@ -2,9 +2,14 @@ package fika;
public class Main {
- public static void main(String[] args) {
+ public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
-
+ Worker thr1 = new Worker("William");
+ Worker thr2 = new Worker("Lili");
+ Worker thr3 = new Worker("Sol");
+ thr1.start();
+ thr2.start();
+ thr3.start();
}
}
diff --git a/OOP2023_a22willi_a21liltr_assignment3/src/fika/Worker.java b/OOP2023_a22willi_a21liltr_assignment3/src/fika/Worker.java
@@ -1,5 +1,39 @@
package fika;
-public class Worker {
+import java.util.Random;
+import java.util.Timer;
+import java.util.TimerTask;
+public class Worker extends Thread {
+ private String name;
+ private int energy;
+ private Random r = new Random();
+ private int T;
+ private Timer timer = new Timer();
+
+ private TimerTask task = new TimerTask() {
+ public void run() {
+ energy--;
+ System.out.println(name + ": " + energy);
+ }
+ };
+
+
+ public Worker(String name) {
+ this.name = name;
+ this.energy = r.nextInt(30, 90);
+ this.T = r.nextInt(500, 1500);
+
+ timer.scheduleAtFixedRate(task, T, T);
+
+
+ }
+
+ public Worker(String name, int energy) {
+ this.name = name;
+ this.energy = energy;
+ this.T = r.nextInt(500, 1500);
+
+ timer.scheduleAtFixedRate(task, T, T);
+ }
}