Почему без объявления поля proposal с модификатором volatile я получаю вывод:
Сделано предложение №1
Принято предложение №1
Сделано предложение №2
Сделано предложение №3
Сделано предложение №4
Сделано предложение №5
Сделано предложение №6
Сделано предложение №7
Сделано предложение №8
Сделано предложение №9
Сделано предложение №10
В thisProposal метода класса AcceptProposal должно хранится значение 0 и условие
thisProposal != proposal
Должно возвращать false, так как 0 == 0 Собственно, на этом и задача построена. Так почему поле proposal все же меняет свое значение в медленной памяти один раз в самом начале?