以下是该方法的基本用法:
BOOL Lock(DWORD dwTimeout = INFINITE);
参数:
- dwTimeout:可选参数,表示等待锁定的超时时间,单位为毫秒。默认值为 INFINITE,表示无限等待。
返回值:
- TRUE:如果成功锁定资源。
- FALSE:如果锁定失败或在指定的超时时间内未能锁定资源。
示例:
CSingleLock myLock(&myCriticalSection, TRUE);
// 尝试锁定资源,等待时间为1000毫秒
if (myLock.Lock(1000)) {
// 成功锁定资源,执行相应的操作
// ...
} else {
// 锁定失败,执行其他操作
// ...
}
在这个示例中,首先创建了一个 CSingleLock 对象 myLock,并在构造函数中将其锁定。然后使用 Lock 方法尝试在最多等待1000毫秒的时间内锁定资源。根据返回值,可以判断是否成功锁定资源,从而执行相应的操作。
请注意,CSingleLock 类主要用于管理临界区的锁定和解锁,以确保线程安全。
转载请注明出处:http://www.zyzy.cn/article/detail/22324/MFC/CSingleLock