zoukankan      html  css  js  c++  java
  • boost::thread 线程锁

    1.boost锁的概述:

      boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。

    2.mutex对象类(主要有两种):

      1.boost::mutex(独占互斥类) --> 有lock和unlock方法

      2.boost::shared_mutex(共享互斥类) --> 有lock和unlock方法 And shared_lock和shared_unlock方法

    3. lock模板类:

      1.boost::unique_lock<T>(独占锁) : unique_lock<T>中的 T 可以为mutex类中的 任意 一种; 自动调用lock和unlock方法

      2.boost::shared_lock<T>(共享锁) : shared_lock<T>中的 T 只能是shared_mutex类; 自动调用shared_lock和shared_unlock方法

    4.递归式的互斥量:

      

      boost::mutex::scoped_lock

      boost::mutex io_mutex;

      void foo( )

      {

              {

                      boost::mutex::scoped_lock lock( io_mutex );         /// 锁定

              } /// 解锁

      }

    5.设置锁超时:

      boost::unique_lock<boost::timed_mutex> lk( io_mutex , std::chrono::milliseconds(3) ); // 超时3秒

  • 相关阅读:
    springboot整合mybatis 异常 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
    报时助手
    Huffman树费用
    动画效果
    工具和其他操作
    使用筛选器获取元素
    DOM操作
    属性和样式操作
    jQuery基础
    选择器
  • 原文地址:https://www.cnblogs.com/wuchunming/p/3793080.html
Copyright © 2011-2022 走看看