找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4234|回复: 4

咨询守卫锁的问题!

[复制链接]
发表于 2011-12-26 21:18:55 | 显示全部楼层 |阅读模式
[code]int func()
{
    ........
    ........
    ........

    {
        ACE_Guard<ACE_Thread_Mutex> guardMx(m_mutex);
        .................
        .................
    }//---------------------------------这个守卫锁是在这解锁呢?

}//------------------------------------还是在这解锁?[/code]

以及为什么是在那个地方解锁?麻烦帮忙解答下。谢谢。
发表于 2011-12-29 10:15:32 | 显示全部楼层
第一个}位置解锁。
发表于 2011-12-30 20:36:23 | 显示全部楼层
这个问题不错,呵呵,楼主还是很认真的耶!:victory:
发表于 2011-12-30 20:45:23 | 显示全部楼层
本问题最主要的知识点是c++的raii,《tcpl》、effective c++等等经典书都有讲,细心看书学习可能有更好的提高
发表于 2011-12-31 11:16:35 | 显示全部楼层
我的理解:guardMx被分配在栈上,出了guardMx的作用域,guardMx被析构从而解锁。所以在第一个}解锁。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-5-14 11:25 , Processed in 0.018672 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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