Если ты читаешь и изменяешь значение под блокировкой - volatile не нужен, получается.