原文翻译链接 http://blog.sina.com.cn/s/blog_4ac0a0d30100c820.html
原文(英文)链接 http://www.ddj.com/cpp/184403766
原文作者:Andrei Alexandrescu
下面是我关心的摘要:
在编写对线程程序的时候,使用volatile将对你十分有益。你必须坚持下面的规则:
1 把所有共享对象声明为volatile.永远不要对它们使用const_cast
2 不要对原生类型直接使用volatile
3 定义共享类时,用volatile成员函数来表示它的线程安全性。
如果你这么做了,而且用了简单的通用组件LockingPtr,你就可以写出线程安全的代码,并且大大减少对竞争条件的担心,因为编译器会替你操心,并且勤勤恳恳地为你指出哪里错了。