zoukankan      html  css  js  c++  java
  • map的线程安全,boost库读写锁的实现

     
      
     *************** map的线程安全 ********************
     *
     * 参考1
     * map要实现线程安全必须要加锁,如果使用mutex会产生大量的线程等待,可以使用读写锁,
     * 使用读写锁,一个线程在写的时候别的线程等待,多个线程可以同时读。
     
     * https://www.cnblogs.com/dynas/p/7245266.html
     
     
     
     * 参考2
     * boost读写锁例子
     
    #include <boost/thread/locks.hpp>
    #include <boost/thread/shared_mutex.hpp>
     
    typedef boost::shared_mutex Lock;                  
    typedef boost::unique_lock< Lock >  WriteLock;
    typedef boost::shared_lock< Lock >  ReadLock;
     
    //使用example
    Lock myLocker;     // or  light_rw_mutex  myLocker;
    void ReadFunction()
    {
        ReadLock rLock(myLocker);    // or RLock rLock(myLocker);
        //Read common resource
    }
     
    void WriteFunction()
    {
        WriteLock wLock(myLocker);   // or WLock wLock(myLocker);
        //Write common resource
    }
      
    https://blog.csdn.net/technologyleader/article/details/81666443
     
     
     
    .
    /************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/
  • 相关阅读:
    nginx变量(日志log_format)
    nginx中间件
    social-auth-app-django集成第三方登录
    Django REST Framework限速
    django-redis
    Django REST Framework extensions
    django-rest-framework-jwt
    FromXml 支付回调 xml 转数组
    下个月此时
    PHP 暂停函数 sleep() 与 usleep() 的区别
  • 原文地址:https://www.cnblogs.com/happybirthdaytoyou/p/15624127.html
Copyright © 2011-2022 走看看