Похоже, что каждый метод, связанный с управлением ShoppingCartItems, синхронизирован.Конечно, для предотвращения одновременного доступа в списке items (List<ShoppingCartItem> items;
).
Без синхронизации вы можете иметь 1+ Thread, обращающийся к методу чтения, например getSubtotal ()
, в то время какitems
Список обновляется через общедоступный synchronized void addItem(Product product)
другим потоком.
Источник можно найти здесь