跳转至

ev-drogon-atomic-tick-counter-002

字段 值
项目 drogonframework/drogon
固定 commit 3aae769cc405
路径 lib/inc/drogon/CacheMap.h
行段 L452-L457
特性 std::atomic
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-11-03
测试代码 否
发现方式 manual

用法

用 std::atomic 维护定时轮的 tick 计数

为什么典型

缓存项在多个事件循环线程中插入和删除,tick 计数是高频递增的共享标量;atomic 让计数无需持锁,容器仍由互斥量保护。

摘录

    std::vector<CallbackBucketQueue> wheels_;

    std::atomic<size_t> ticksCounter_{0};

    std::mutex mtx_;
    std::mutex bucketMutex_;

备注

生产头文件;同一个类里 atomic 计数器与两把互斥量并存,说明原子类型是按字段选择的,不是替代所有锁。

查看固定 commit 源码 · 返回证据索引