Я скопипастил код из лекции и у меня что что с volontine что без нее программа завершаеться через 10 сек, хотя как я понял из лекции без волонтине не должна завершаться. Или я что то не то понял из лекции?
class Clock implements Runnable
{
private volatile boolean isCancel = false;

public void cancel()
{
this.isCancel = true;
}

public void run()
{
while (!this.isCancel)
{
Thread.sleep(1000);
System.out.println("Tik");
}
}
}

public static void main(String[] args)
{
Clock clock = new Clock();
Thread clockThread = new Thread(clock);
clockThread.start();

Thread.sleep(10000);
clock.cancel();