我正在阅读leveldb的源代码,特别是.关于互斥锁.
我发现了这个声明:
class SCOPED_LOCKABLE MutexLock {
public:
explicit MutexLock(port::Mutex *mu) EXCLUSIVE_LOCK_FUNCTION(mu)
: mu_(mu) {
this->mu_->Lock();
}
~MutexLock() UNLOCK_FUNCTION() { this->mu_->Unlock(); }
private:
port::Mutex *const mu_;
// No copying allowed
MutexLock(const MutexLock&);
void operator=(const MutexLock&);
};
Run Code Online (Sandbox Code Playgroud)
我发现它SCOPED_LOCKABLE被定义为空,所以为什么在类声明中使用它?