在老版本的java中Double-Locked是不安全的例如:
这是由于cpu乱序执行的原因。参见http://www.ibm.com/developerworks/java/library/j-dcl.html
然而在c++中可否使用这种idiom呢?
c++中是安全的,Java的语言规范中允许乱序写入,但C++中没有此规定。
ACE中就有这部分代码。
在老版本的java中Double-Locked是不安全的例如:
这是由于cpu乱序执行的原因。参见http://www.ibm.com/developerworks/java/library/j-dcl.html
然而在c++中可否使用这种idiom呢?
c++中是安全的,Java的语言规范中允许乱序写入,但C++中没有此规定。
ACE中就有这部分代码。