问一个CCriticalSection的问题!!

pearlriver 2003-09-24 09:36:10
请问我在类里定一个了一个 CCriticalSection cc;
例如 class a
{
private
CCriticalSection cc
integer a1;
public
geta1()
seta1(a2)
}

integer a:geta1()
{
cc.lock()
return a1
cc.unlock() //都已经返回了,此句是不是执行不到阿。
}

这里加锁该怎么加,如果不用unlock,在函数退出时,是不是自动unlock()阿
如果放在return 后面,return 返回,下面锁是不是解不开了

谁能告我啊
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahao 2003-09-24
  • 打赏
  • 举报
回复
CSingleLock singleLock(&m_CritSection);
singleLock.Lock();
// resource locked
//.usage of shared resource...
singleLock.Unlock();

超出作用域的话,会自动unlock
phalcon 2003-09-24
  • 打赏
  • 举报
回复
可以这么干
Lock;
temp = al;
Unlock;
return temp;
不过如果只是这么简单的话应该不需要锁定的
phalcon 2003-09-24
  • 打赏
  • 举报
回复
看起来是这样 办法是getal里用一个局部变量
Lock; temp = al; Unlock; return temp;
不过如果只是这么简单的话应该不需要锁定

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧