(Все это в многопоточной среде) В моем коде есть сценарий, который требует от меня обновления статических переменных в классе.Теперь, основываясь на последней комбинации переменных, код может войти в один или другой поток.Я использовал синхронизацию, чтобы позволить только одному потоку обновлять переменные.Поскольку я также хочу, чтобы любой другой поток замечал только самое последнее значение, я объявил две переменные также как volatile.Я читал о различиях двух ключевых слов, и я считаю, что оба они должны быть использованы для достижения того, что я хочу.Доступ к чтению не синхронизирован, синхронизирована только часть, в которую я пишу переменные.
Я новичок в области многопоточности в Java и хотел бы знать, является ли это хорошей практикой.Есть ли лучший (более эффективный) способ достижения этого в Java?