ElementClass
オブジェクトのリストを含み、変更可能な次のクラスがあるElementClass
とします。
public class ListContainer {
private List<ElementClass> elements = new ArrayList<ElementClass>();
public ListContainer(int n) {
for (int i = 0; i < n; ++i)
elements.add(new ElementClass());
}
public ElementClass getElement(String index) {
int i = Integer.parseInt(index);
if (i < elements.size())
return elements.get(i);
return null;
}
}
ElementClass
オブジェクトへの同じ参照が 2 つの異なるスレッドによって取得され、予期しない動作の危険を冒さないようにするにはどうすればよいですか? クラスを変更することでこれを行うことができますか、ListContainer
それともクラスですべてのスレッド安全対策を講じる必要がありElementClass
ますか?