boost mutex

来源:互联网 发布:网络是指由计算机或者 编辑:程序博客网 时间:2024/05/19 03:24
boost库互斥相关类型包括mutex和 lock,mutex和lock又分别包括几种类型,那为什么boost::thread库要采用mutex和lock共同来实现互斥机制呢,操作系统一般不是只提供mutex来实现互斥吗? 我们来看一下《effective C++ 3》的条例14就能清楚这样做的原因了,这样做是为了满足RAII原则即“资源取得时机就是初始化时机”。我们使用互斥机制的动机就是要确保线程之间独占访问资源。lock类型变量在构造时,获得mutex引用,并锁定该mutex,即获得对资源的独占访问,在lock类型变量析构时,则释放mutex,即放弃对资源的独占访问。采取这样的互斥机制可以确保资源的及时释放。
原创粉丝点击