如何在directshow应用程序中设置读锁定和写锁定?

时间:2010-08-21 09:01:15

标签: c++ locking directshow

要应用一般锁,我可以这样做:

CAutoLock(CCritSec * plock)

但是如何分别设置读写锁定?

3 个答案:

答案 0 :(得分:0)

This发表关于使用读写器锁的讨论。

答案 1 :(得分:0)

我只会使用两个单独的锁......否则可能会发生这种情况。

答案 2 :(得分:0)

只需要两个独立的CCritSec对象:

CCritSec writeLock, readLock;

void Blah::SomeMethod()
{
    CAutoLock writeAutoLock( &writeLock );
    ...
}

void Blah::SomeOtherMethod()
{
    CAutoLock readAutoLock( &readLock );
}

你也可以在没有自动锁定课程的情况下锁定,但除非你的功能/方法很短,否则我不会推荐它,你不可能忘记解锁。