Хэлп. Java/ Пишу чат и не пойму в чем ошибка.

Эдуард Гимадиев

Пишу чат. Я только учусь, так что вероятнее всего реализация покажется странной. И надеюсь я понятно опишу случай.
Сделал так что для каждого подключаемого сервер запускает свой поток со своим сокетом. В мейн держиться база авторизированых онлайн пользователей (arraylist). В классе "онлайн пользователей" есть "метод который отправляет текущему юзеру новое сообщение" и " Новый поток "incomingMessages" который ожидает новое сообщение от текущего юзера и в случае тру - вызывает 1метод у всех онлайн юзеров из базы в мейне и предает им новое сообщение"

Thread incomingMessages = new Thread(new Runnable() {
@Override
public void run() {
while (true){
if (in.hasNextLine()){
for (int i = 0; i < MainServer.getOnlineUsers().size(); i++) {
MainServer.getOnlineUsers().get(i).sendMessage(login +": "+in.nextLine());
}
}
}
}
});
incomingMessages.start();
}
Но странно работает цикл. Он один раз вызывает метод у одного из потоков и не смотря то что цикл срабатывает нужное количество раз. Метод заложеный больше не вызывает как я понял. По итогу сообщение получает только один подключенный юзер.

    Надеюсь смог выразить ситуацию)
1 чел.