Это мой класс Java 1.6:
public class Foo {
private ArrayList<String> names;
public void scan() {
if (names == null) {
synchronized (this) {
this.names = new ArrayList<String>();
// fill the array with data
}
}
}
}
Findbugs говорит:
Inconsistent synchronization of com.XXX.Foo.names; locked 40% of time
Что он делает имею ввиду а что я делаю не так? Я пытаюсь избежать проблем, когда два или более клиентов вызывают Foo.scan ()
одновременно.