1、互斥锁(互斥量)
mutex是独占式的互斥锁。timed_mutex增加了超时功能。
成员函数:lock()用于锁定,try_lock()为非阻塞版本的锁定,unlock()用于解锁。timed_lock()只属于timed_mutex,它可以等待一定的时间,等待的时间可以是一个时间段,也可以是指定的时间。
使用方法:使用mutex必须配合try-catch块以保证解锁互斥量,eg:
#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; }