コードサンプルフィールド値bereadを一度強制的に強制的に同期する方法はありますか? <strong>MyClassの</strong>の
public class MyClass{
private MyObject myObject;
private Object lockObject = new Object();
MyObjectFactory factory;
public MyClass(MyObjectFactory factory){
this.factory = factory;
}
public MyObject GetObject()
{
if (myObject == null){
lock(lockObject){
myObject = factory.Create();
//need forcibly sync myObject value beetween all threads here
}
}
return myObject;
}
}
インスタンスが複数のスレッドで共有beetwen。私は揮発性のmyObjectを使用することができ、それは書き込みでフィールド値を同期させるだけでなく、私は遅い読み込みを取得します知っている。同期が可能ですmybody値はロック部に1回だけ入力します揮発性?
x86/x64プロセッサは興味深い事実です。私たちのサーバーはx86プロセッサを使用しているので、それは私のための解決策になると思います。しかし、私は理論的な関心を持っています - 一般的に状況を解決することが可能かどうか、プロセッサアーキテクチャについての前提はありませんか? – Frank59
新しい情報でそれは私のための完全な解決です。ありがとう! – Frank59