Рассмотрим следующий код и предположим, что список является синхронизированным списком.
List list = Collections.synchronizedList(new ArrayList());
if(!list.contains(element)){
list.add(element)
}
Я знаю, что приведенный выше фрагмент кода должен синхронизироваться извне (защищенный замком), чтобы сделать его полностью потокобезопасным. При чем здесь состояние гонки?