Цикл не видит значение, измененное другим потоком без оператора печати

В моем коде есть цикл, который ожидает изменения какого-либо состояния из другого потока. Другой поток работает, но мой цикл никогда не видит измененное значение. Он ждет вечно. Однако, когда я помещаю System.out.printlnоператор в цикл, он внезапно срабатывает! Зачем? Ниже приведен пример моего...