デザインモードのDouble check
double checkは、fieldの作成に時間がかかる場合に使用することができ、fieldが必ずしも使用されるとは限らない場合に使用することができる.
ここでvolatileの使用に注意してください.
private Object lock = new Object();
private volatile String content;
public String getContent() {
String t = content;
if (t == null) {
synchronized (lock) {
t = content;
if (t == null) {
t = content = "InitString";
}
}
}
return t;
}
ここでvolatileの使用に注意してください.