Дано кусок кода
if(!OnlineGame.isWinnerFound)
{
System.out.println(getName() + ":победитель!");
OnlineGame.isWinnerFound = true;
}
в упор не могу понять как он заходит в этот иф. Изначально переменная фолс. Насколько я понимаю данный иф говорит если значение не фолс заходи в условие. Но как он заходит? В смысле я понимаю что заходит, но как срабатывает механизм.
И еще вопрос. Заметил что while не включате в свой цикл интеррапты, почему тогда они ваабще зависят от этого цикла? Интеррапты поидее должны в любом случае срабатывать
while (!isWinnerFound) {
}
gamer1.interrupt();
gamer2.interrupt();
gamer3.interrupt();
shteynu
19 уровень
Туплю жестко с ифом
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ильнар
11 февраля 2019, 05:57решение
Кода мало, чтобы развёрнуто ответить, но по Вашим вопросам получается следующее:
В условии стоит логическое отрицание "!" то есть когда константа равна false, то логическое отрицание делает его true.
В данном случа цикл нужен для того, чтобы основной поток дождался, пока у нас не найдётся победитель. Когда константа станет true (победитель найдётся), то основной поток прервёт все остальные. +2
shteynu
11 февраля 2019, 12:36
спасибо )
0