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