*************** 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
 
 
 
.

相关文章:

  • 2021-12-19
  • 2021-05-15
  • 2022-12-23
  • 2021-06-04
  • 2022-02-20
  • 2021-12-09
猜你喜欢
  • 2022-12-23
  • 2021-09-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
相关资源
相似解决方案