std::mutex 和 std::lock_guard 小例子

来源:互联网 发布:网站源码建站 编辑:程序博客网 时间:2024/05/16 01:59

Linux下,固然我们可以用 pthread_mutex_t pthread_mutex_lock/unlock来做多线程同步,但是通常要自己再封装一下,比如像pthread_mutex_t的简单封装》。但是,C++ 11 支持更简洁优雅的做法:

// globalmutexstd::mutexmutex; void f(){     // lock mutex    std::lock_guard<std::mutex>lock(mutex);     //do something might throw exception    //...     //do not unlock mutex, it will be unlockedby lock_guard destructor }

除了 std::mutex,还有 std::recursive_mutex等,和pthread_mutex_t的各种类型相对应。

相比pthread_mutex_t,用 stl写出来的代码更简洁和通用。

 

GCCdownload URL

http://ftp.gnu.org/gnu/gcc/

 

how tospecify new gcc path for cmake

export CC=/usr/local/bin/gcc
exportCXX=/usr/local/bin/g++
cmake /path/to/your/project
make

0 0
原创粉丝点击