# concurrent-dict **Repository Path**: sun_mengyue/concurrent-dict ## Basic Information - **Project Name**: concurrent-dict - **Description**: No description available - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-30 - **Last Updated**: 2021-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 线程安全的字典热切换器 ## v0.1.5 Jan. 29, 2021 * 这是一个字典的热切换器, 可以在启用的状态下切换字典并保证多线程安全. 你可以使用 Cmake 构建这个项目 (测试环境为 Cmake 3.15). 1. `Dictionary` 类是字典, 这里给了一个样例. 2. `Loader` 模板类是用来做字典的热切换的, 是程序的最主要功能实现, 其余的功能没有仔细实现. 3. `Loader` 是线程安全的单实例类型. 实例在第一次调用 `get_instance` 时候生成, 并且那时候会加载一个空字典. 4. 通过 `load` 方法可以加载字典. 如果给 `load` 方法传入一个左值 `shared_ptr`, 对象的引用计数会增加 1. 如果传入右值 `shared_ptr`, 对象的引用计数不变. ## 升级日志 ### v0.1.5 Jan. 30, 2021 1. CMakeLists 中加入了优化配置 (`-O3`). 2. 去掉利用智能指针的原子读写 (支持 C++ 11~17), 改为锁. ### v0.1.4 Jan. 29, 2021 1. 加入 `load` 右值重载. 2. 去掉锁, 改为利用智能指针的原子读写 (支持 C++ 11~17). 3. 增加了 `Loader::pointer_type` 和 `Loader::dict_type`. ### v0.1.3 Jan. 24, 2021 1. 重新实现了 `look_up` 转发的接口, 改为利用 `operator->` 进行转发. ### v0.1.2 Dec. 08, 2020 1. 提供了内部指针, 同时实现了 `look_up` 转发的接口. ### v0.1.1 Dec. 01, 2020 1. 利用智能指针进行重新实现, 逻辑重写. ### v0.1.0 Nov. 30, 2020