Я использую коллекцию
CopyOnWriteArrayList<X> myCOW = new CopyOnWriteArrayList<X>();
, где X - изменчивый объект.Я знаю, что из Java Concurrency на практике «коллекции копирования при записи получают свою безопасность потоков благодаря тому факту, что до тех пор, пока эффективно неизменяемый объект публикуется должным образом, при доступе к нему не требуется никакой дополнительной синхронизации».
Я перебираю коллекцию:
for (X x : myCOW) {
if (conditionIsMet) {
x.modify(); // modify() is a synchronized method in class X
}
}
У меня вопрос, не подвергает ли меня этот метод проблемам безопасности потоков?Я думаю, что нет, так как метод X (modify) синхронизирован.
Спасибо.