Immer ist irgendetwas nicht in Ordnung.
Dieses Mal fehlt, dass der Thread für das Hochzählen 2,5 s laufen soll.
Wie soll ich das denn anders machen als über die join Anweisung? - D.h ich könnte den anderen Thread auch 2,5 sec schlafen lassen, aber das wird wohl auch nicht das sein, was sie wollen.
Liebe Grüße
Claudia
package de.codegym.task.task16.task1626;
public class Solution {
public static int number = 5;
public static void main(String[] args) throws InterruptedException {
Thread threadCountUpRunnable = new Thread(new CountUpRunnable(), "Erhöhen");
threadCountUpRunnable.start();
threadCountUpRunnable.join(2500);
new Thread(new CountdownRunnable(), "Verringern").start();
}
public static class CountUpRunnable implements Runnable{
//schreib hier deinen Code
private int countUpIndex = 1;
public void run() {
try {
while (true) {
System.out.println(toString());
countUpIndex += 1;
if (countUpIndex == Solution.number+1) return;
Thread.sleep(500);
}
} catch (InterruptedException e) {
}
}
public String toString() {
return Thread.currentThread().getName() + ": " + countUpIndex;
}
}
public static class CountdownRunnable implements Runnable {
private int countdownIndex = Solution.number;
public void run() {
try {
while (true) {
System.out.println(toString());
countdownIndex -= 1;
if (countdownIndex == 0) return;
Thread.sleep(500);
}
} catch (InterruptedException e) {
}
}
public String toString() {
return Thread.currentThread().getName() + ": " + countdownIndex;
}
}
}