typedef Mutex::Autolock AutoMutex;
// Manages the mutex automatically. It'll be locked when Autolock is
// constructed and released when Autolock goes out of scope.
class Autolock {
public:
inline Autolock(Mutex& mutex) : mLock(mutex) { mLock.lock(); }
inline Autolock(Mutex* mutex) : mLock(*mutex) { mLock.lock(); }
inline ~Autolock() { mLock.unlock(); }
private:
Mutex& mLock;
};
AutoMutex _L(mLock);
可知,這行代碼就是創建一個Autolock變量,在構造函數中執行了鎖定操作。