Уважаемые коллеги, подскажите, может я чего-то не понимаю (скорей всего). У нас обе нити Person и Apteka согласно условию задачи должны работать пока isStopped = false. При начале работы программы у нас public static boolean isStopped = false, то есть изначально флажок стоит такой, что программа работает до тех пор, пока он не будет true и не будет дана команда на ее остановку. После того как в мэйн методе программа замирает на секунду, флажок становится true, что собственно должно давать сигнал на ту самую остановку программы. Но собственно почему тогда цикл в методе run() работает при условии while(!isStopped) для валидатора?. Это же значит, что программа должна работать пока значение переменной isStopped противоположное изначальному, а изначальное false. То есть она должна работать при true? Как, если она станет итак true через секунду. Очень интересно...
Vladimir Kogon
20 уровень
Непонятно, касательно с условием работы нитей
Архивный
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vladimir Kogon
9 мая 2020, 11:31
Ааа, спасибо, теперь все понятно, главное интуитивно вроде делал правильно, а на определенном моменте произошел видимо когнитивный тупик.
0
Vasili
6 мая 2020, 19:24
while работает пока условие true.
isStopped = false, !sStopped = true цикл работает.
стало isStopped = true, !sStopped = false, условие не выполняется, цикл прекращается.
+1