How to make this code thread-safe using double checked locking?
Single threaded version:
private final List<Element> list = new ArrayList<Element>();
public Element getElementAt(int index) {
if (index >= list.size()) {
for (int i = list.size(); i <= index; i++) {
list.add(createElement());
}
}
return list.get(index);
}
One possible solution is to make list volatile and reassign it when its
size increases. Is there a different way?
No comments:
Post a Comment