到底用不用CSingleLock和CMultiLock ?

力为 2005-09-27 11:46:57
MSDN这样说的:
In order to use the synchronization classes CSemaphore, CMutex, CCriticalSection, and CEvent, you must create either a CSingleLock or CMultiLock object to wait on and release the synchronization object.

但又这样说的:
Alternatively, you can create a CSemaphore object stand-alone, and access it explicitly before attempting to access the controlled resource. This method, while clearer to someone reading your source code, is more prone to error.

前面说必须用CSingleLock 或 CMultiLock ,后面说可以不用。
但到底是用还是不用呢?
不用会容易发生什么错误呢?
...全文
139 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
力为 2005-10-13
再没有人讨论我就结帖了哦
  • 打赏
  • 举报
回复
DentistryDoctor 2005-09-27
比较一下:
//CCriticalSection m_csLock;

void Function()
{
CSingleLock lock(&m_csLock,TRUE);
...
}


void Function2()
{
m_csLock.Lock();
...
m_csLock.Unlock();
}

  • 打赏
  • 举报
回复
DentistryDoctor 2005-09-27
不是说必须用。
但CSingleLock/CMultiLock可以很方便的实现自旋锁。
  • 打赏
  • 举报
回复
相关推荐
发帖
进程/线程/DLL
加入

1.5w+

社区成员

VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
申请成为版主
帖子事件
创建了帖子
2005-09-27 11:46
社区公告
暂无公告