Синхронизация помогает создать барьеры для чтения и записи. то есть он устанавливает границу, посредством которой вы можете быть уверены, что независимо от порядка операций (чтение / запись) между ними будет отношение «произойдет до». Для процессора становится очевидным, что все изменения в локальных (кэш / регистр) копиях объектов, синхронизируемых с основной памятью, сбрасываются, в то же время не давая доступа к этому конкретному экземпляру памяти при синхронизации.