Источник: Викисловарь
Чтобы обеспечить атомарность действий с long и double значениями можно использовать ключевое слово volatile.
Атомарность относительна также в том смысле, что сложные объекты, состоящие из атомарных, рассматриваются в зависимости от свойств атомарных.
Резюмируя, объявление блока кода синхронным обеспечивает для кода атомарность и видимость.