Как я вижу логику метода run Стартуем из мейна . 1 шаг .начало игры все в одной игре Все должны начать без задержки 1 шаг делается мгновено начали игру потомучто игра одна и у всех 2 шаг. поевляется с задержкой 3 шаг. поевляется с задержкой 4 шаг. поевляется с задержкой И первый кто его достиг а его мы узнаем тут if (i==OnlineGame.steps.size()-1){ System.out.println(getName()+":победитель!"); OnlineGame.isWinnerFound=true; } и все мы выходим из цикла а осталным exeption Но что то не так ....