1、互斥锁(互斥量)

  mutex是独占式的互斥锁。timed_mutex增加了超时功能。

  成员函数:lock()用于锁定,try_lock()为非阻塞版本的锁定,unlock()用于解锁。timed_lock()只属于timed_mutex,它可以等待一定的时间,等待的时间可以是一个时间段,也可以是指定的时间。

  使用方法:使用mutex必须配合try-catch块以保证解锁互斥量,eg:

boost--线程同步
#include "boost\thread.hpp"

int main()
{
    boost::mutex mu;
    try
    {
        mu.lock();
        cout << "Need to be protected" << endl; //io流是个共享资源,多线程内使用的话需要同步
        mu.unlock();
    }
    catch (...)
    {
        mu.unlock();
    }

    return 0;
}
View Code

相关文章: