跳转至

ev-spdlog-enum-class-async-msg-003

字段 值
项目 gabime/spdlog
固定 commit 79524ddd08a4
路径 include/spdlog/details/thread_pool-inl.h
行段 L102-L114
特性 强类型枚举(enum class)
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-27
测试代码 否
发现方式 manual

用法

用 enum class 表示异步消息种类并驱动后台线程分支

为什么典型

消息类型需要限定作用域,switch 把每种类型映射到具体处理动作。

摘录

    switch (incoming_async_msg.msg_type) {
        case async_msg_type::log: {
            incoming_async_msg.worker_ptr->backend_sink_it_(incoming_async_msg);
            return true;
        }
        case async_msg_type::flush: {
            incoming_async_msg.worker_ptr->backend_flush_();
            return true;
        }

        case async_msg_type::terminate: {
            return false;
        }

备注

生产路径;线程池从队列取出消息后按类型分派日志、刷新或终止。

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