Здравствуйте, Foror, Вы писали:
F>Кто-то может вызвать Channel#build(), в свою очередь параллельно может быть запущен ChannelMixer#build(). Мне нужно, чтобы во время Channel#build(), на месте где происходит модификация Channel#current выставлялась блокировка на это поле, чтобы никто другой из вне не мог читать это поле (т.е. ожидал пока завершится модификация current в build()).
F>Собственно как сделать блокировку на current?
Блокировка это, конечно, хорошо, но её придётся делать почти везде где происходит вызов getCurrent().
Не силён в многопоточности, так что, пользуясь случаем хотелось бы задать вопрос знатокам...

Если на самом деле не нужно ожидать завершения модификации, можно ли написать так?
public class Channel {
private List current;
public String build() {
List nc = new ArrayList();
nc.add(some...);
current = nc;
}
public List getCurrent() {
return current;
}
}