Page Speed Optimization Libraries
1.2.24.1
|
#include "thread_system.h"
Public Member Functions | |
virtual bool | ReaderTryLock ()=0 |
virtual void | ReaderLock ()=0 |
Block until this Mutex is free, or shared, then acquire a share of it. | |
virtual void | ReaderUnlock ()=0 |
Release a read share of this Mutex. | |
virtual void | DCheckReaderLocked () |
Interface for a Mutex with ReaderLocks(). It is possible for multiple Readers to simultaneously hold an RWLock. A reader cannot hold the lock at the same time as a Writer, nor can two Writers hold the lock.
virtual void net_instaweb::ThreadSystem::RWLock::DCheckReaderLocked | ( | ) | [virtual] |
Optionally checks that reader lock is held (for invariant checking purposes). Default implementation does no checking.
Reimplemented in net_instaweb::CheckingThreadSystem::RWLock, and net_instaweb::NullRWLock.
virtual bool net_instaweb::ThreadSystem::RWLock::ReaderTryLock | ( | ) | [pure virtual] |
ReaderLock/Unlock are different from normal locks. Reader locks are shared while normal locks are exclusive. Normal lock cannot happen when reader has a lock. Try to acquire a read share of this lock without blocking.
Implemented in net_instaweb::CheckingThreadSystem::RWLock, net_instaweb::PthreadRWLock, and net_instaweb::NullRWLock.