Synchronized – это служебное слово, с помощью которого можно запретить доступ к методу, помеченному как синхронный (Synchronized), на время пока его держит другой Synchronized поток. То есть одновременно могут выполняться не более одной части кода отмеченной служебным словом как Synchronized.
Также это требуется для методов wait, notifyAll, а также notify.