异步回调生命周期模式
背景
Drogon 异步回调中裸 this 捕获与跨线程无锁访问是历史缺陷的主要来源(11 项审计缺陷)。
决策
带异步回调的对象一律 enable_shared_from_this;lambda 捕获 self/weak_ptr,禁止裸 this(禁协程);初始化用 Meyers Singleton / call_once 消 SIOF;承认并依赖 drogon::CacheMap 自身互斥锁的线程安全(EventLoop* 仅驱动过期定时器,不做 loop 编排);look-aside 缓存 stampede 属可接受的非线性一致。
后果与现状对照
该纪律写入 db-operations.md(维护者规则源)成为项目铁律;并发审计的 11 项缺陷全部修复并有回归测试。