要应用一般锁,我可以这样做:
CAutoLock(CCritSec * plock)
但是如何分别设置读写锁定?
答案 0 :(得分:0)
This发表关于使用读写器锁的讨论。
答案 1 :(得分:0)
我只会使用两个单独的锁......否则可能会发生这种情况。
答案 2 :(得分:0)
只需要两个独立的CCritSec对象:
CCritSec writeLock, readLock;
void Blah::SomeMethod()
{
CAutoLock writeAutoLock( &writeLock );
...
}
void Blah::SomeOtherMethod()
{
CAutoLock readAutoLock( &readLock );
}
你也可以在没有自动锁定课程的情况下锁定,但除非你的功能/方法很短,否则我不会推荐它,你不可能忘记解锁。