YoungXie 发表于 2011-12-26 21:18:55

咨询守卫锁的问题!

int func()
{
    ........
    ........
    ........

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

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

以及为什么是在那个地方解锁?麻烦帮忙解答下。谢谢。

winston 发表于 2011-12-29 10:15:32

第一个}位置解锁。

nettoobad 发表于 2011-12-30 20:36:23

这个问题不错,呵呵,楼主还是很认真的耶!:victory:

laocai 发表于 2011-12-30 20:45:23

本问题最主要的知识点是c++的raii,《tcpl》、effective c++等等经典书都有讲,细心看书学习可能有更好的提高

asir6 发表于 2011-12-31 11:16:35

我的理解:guardMx被分配在栈上,出了guardMx的作用域,guardMx被析构从而解锁。所以在第一个}解锁。
页: [1]
查看完整版本: 咨询守卫锁的问题!