`

AutoMutex

阅读更多
我们在看framework层下面的一些C++文件里面总会看到这样的一行代码:AutoMutex _l(mLock);其实AutoMutex就是thread中的一种自动的互斥锁,你可以看framework/base/include/utils/thread.h就知道了: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;
    };
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics