跳转至

ev-spdlog-atomic-backtracer-flag-001

字段 值
项目 gabime/spdlog
固定 commit 79524ddd08a4
路径 include/spdlog/details/backtracer.h
行段 L18-L20
特性 std::atomic
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-11-03
测试代码 否
发现方式 manual

用法

用 std::atomic 保存跨线程读取的启用标志

为什么典型

enabled_ 会被多个线程读写;用 atomic 避免为单个布尔值再加一把互斥量,同时保持读取无锁。

摘录

class SPDLOG_API backtracer {
    mutable std::mutex mutex_;
    std::atomic<bool> enabled_{false};

备注

生产头文件;容器本身仍由 mutex_ 保护,atomic 只用于独立的启用标志,两类同步原语按数据分别选择。

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