Можете пожалуйста кто то объяснить как программа работает step by step и как получается такой вывод?:
Tik
Tak
Tik
The clock has to be stopped
Tak
Double-check
Что то как то совсем туго с этими потоками :(
Код программы наведен ниже:
/*
Часы
*/
public class Solution {
public static volatile boolean isStopped = false;
public static void main(String[] args) throws InterruptedException {
Clock clock = new Clock();
Thread.sleep(2000);
isStopped = true;
System.out.println("The clock has to be stopped");
Thread.sleep(2000);
System.out.println("Double-check");
}
public static class Clock extends Thread {
public Clock() {
setPriority(MAX_PRIORITY);
start();
}
public void run() {
try {
while (!isStopped) {
printTikTak();
}
} catch (InterruptedException e) {
}
}
private void printTikTak() throws InterruptedException {
//add your code here - добавь код тут
Thread.sleep(500);
System.out.println("Tik");
Thread.sleep(500);
System.out.println("Tak");
}
}
}