C++实现线程安全的的双缓冲实例

目录

业务场景

设计方案

GitHub代码示例


业务场景

多线程的业务系统不断写入数据到内存中,同步线程不断读取数据并同步redis

设计方案

由于业务非常适合map的结构,因此采用了双层map

typedef std::map EventCountMap;
typedef std::map RuleEventCountMap;

为了实现读写分离,采用双缓冲,一个读,一个写,由于std::map并不是线程安全的,所以读写的时候需要加锁处理。

 
 

你可能感兴趣的:(Linux服务器开发,c++,java,开发语言)