のセマンティクスは何AtomicReference
ですか?
私が行った場合:
AtomicReference<CustomObject> ref = new AtomicReference<CustomObject>();
そして私はします:
public void someMethod(){
//do something
ref.set(loadNewData());
}
private final Sempahore updatePermit = new Sempahore(1);
private CustomObject loadNewData(){
CustomObject obj = null;
if (updatePermit.tryAcquire()) {
obj = ...; //do the loading and create Object
updatePermit.release();
} else {
//update already running, wait
updatePermit.acquire();
//release the permit immediately
updatePermit.release();
obj = ref.get(); //????
}
return obj;
}
オンラインで最も新しいバージョンが返されるという保証はありますか?これは、投稿
に対するassyliasの回答に関連しています:obj = ref.get(); //????
get
CustomObject