读书人

Poco:Mutex

发布时间: 2012-09-04 14:19:30 作者: rapoo

Poco::Mutex

Mutex是互斥锁,可以锁住一段代码,用于多线程,保护共有的变量。对Mutex的使用,推荐使用ScopedLock,因为它可以自动解锁,这就是C++析构函数的作用。

class MutexRunable:public Runnable{public:    MutexRunable(Mutex& m):m_m(m) {  }    void run()    {        m_m.lock();        std::cout << "Get lock." << std::endl;    }private:    Mutex& m_m;};int main(){    Mutex m;    MutexRunable r(m);    Thread t;    m.lock();    m.lock();    // 多次锁定    m.unlock();    m.unlock();   // It is OK.    t.start(r);    t.join();    return 0;}

与Poco::Mutex相像的Poco::FastMutex提供和Mutex相同的功能,但不可以嵌套锁。


读书人网 >编程

热点推荐