Вывод Ivanov делает шаг №1! Ivanov делает шаг №2! Petrov делает шаг №1! Ivanov делает шаг №3! Ivanov делает шаг №4! Petrov делает шаг №2! Ivanov делает шаг №5! Ivanov делает шаг №6! Petrov делает шаг №3! Ivanov делает шаг №7! Ivanov делает шаг №8! Petrov делает шаг №4! Ivanov делает шаг №9! Иногда такой ответ получается, подскажите, как то это можно учесть? код такой проверку прошел(кусок кода) public static void main(String[] args) throws InterruptedException { Runner ivanov = new Runner("Ivanov", 4); Runner petrov = new Runner("Petrov", 2); //на старт! //внимание! //марш! ivanov.start(); petrov.start(); Thread.sleep(2000); isStopped = true; Thread.sleep(1000); } public static class Stopwatch extends Thread { private Runner owner; private int stepNumber; public Stopwatch(Runner runner) { this.owner = runner; } public void run() { try { while (!isStopped) { doStep(); } } catch (InterruptedException e) { } } private void doStep() throws InterruptedException { stepNumber++; Thread.sleep(1000/owner.getSpeed()); System.out.println(owner.getName() + " делает шаг №" + stepNumber + "!"); }