Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1063977
  • 博文数量: 77
  • 博客积分: 11498
  • 博客等级: 上将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-04 11:10
文章分类

全部博文(77)

文章存档

2011年(1)

2010年(16)

2009年(5)

2008年(55)

分类: C/C++

2010-08-25 16:45:05

谈到Singleton必然会想到DCLP(Double-Checked Locking Pattern),但DCLP最终被证明在运用于Singleton之上时是不安全的,即使使用了volatile修饰符。

针对C/C++的分析可以参考这篇文章:
针对Java的分析可以参考这篇文章:双重检查锁定及单例模式 (可在文中找到英文原文链接)


文章“C++ and the Perils of Double-Checked Locking"中有一段关于volatile的历史比较有趣。


------
注:虽然DCLP不是在所有环境中绝对可靠,但大多数时候还是比较安全的。
阅读(2058) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~