当一个不可变对象在一个线程中新建并在第二个线程中共享(例如作为共享对象的一个字段)时,第二个线程不应该同步吗?
Thread1:
=========
x = new SomeObject()
Thread2
=========
if (x != null)
x.DoSomething()
x.DoSomething() 之前应该有内存屏障吗?是否有可能在第一个线程中对 x 的分配对第二个线程永远不可见?.NET 的安全发布模式是什么?
当一个不可变对象在一个线程中新建并在第二个线程中共享(例如作为共享对象的一个字段)时,第二个线程不应该同步吗?
Thread1:
=========
x = new SomeObject()
Thread2
=========
if (x != null)
x.DoSomething()
x.DoSomething() 之前应该有内存屏障吗?是否有可能在第一个线程中对 x 的分配对第二个线程永远不可见?.NET 的安全发布模式是什么?