找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3205|回复: 3

新人来,第二个帖子

[复制链接]
发表于 2010-3-18 18:13:45 | 显示全部楼层 |阅读模式
因为接手的代码是用ace 写的,不得已去了解ace ,岂料查找文档和看代码都弄得我头昏眼花,来论坛散散心吧。
最先映入眼帘的是一个ACE_Singleton对象,这个很好理解。比通常的模式多了个ACE_LOCK,据说是为了线程安全,也很好理解。不过我不明白放在这里能起什么作用。我阅读代码的能力不强,代码里面宏定义太多转来转去看得眼晕,所以就自己猜测了一下,然后冒昧地到这里来求得验证了:这里这个ACE_LOCK类型,是不是不会自动起什么作用,只是在子类实现的时候,可以通过ACE_Object_Manager::get_singleton_lock把相应的对象取出来呀?如果说有别的用处,是不是仅仅防止两个线程同时创建singleton对象而失去singleton的本意呢?期待老手解答,谢谢。
发表于 2010-3-18 18:48:40 | 显示全部楼层
singleton的锁是为了防止竞争。在同一时刻下两个线程对单件的调用。锁分为好几种。
具体参阅http://blog.csdn.net/appstudy/archive/2009/06/12/4264383.aspx
发表于 2010-3-18 23:36:02 | 显示全部楼层
这是一个经典的double lock的单体。
 楼主| 发表于 2010-3-19 14:12:16 | 显示全部楼层
明白了,谢谢解答。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-22 13:11 , Processed in 0.015388 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表