你的 SimpleAsyncLogger 其实已经包含了线程池和定时器的雏形:
AsyncWriter(一个线程):
while (running) {
1. io_uring_poll() → 处理已完成的 I/O
2. 检查是否该日志轮转(定时器行为)
3. 检查 TCP 是否该重连(定时器行为)
4. 检查是否有新数据 → 提交 io_uring write 和 send
5. 超时或满 4KB → flush
}
这个就是单线程 Event Loop + 内置定时器的模型。面试时你可以说:“我的日志库的 AsyncWriter 就是一个简化的 Reactor 模型——单线程事件循环,把定时器检查、I/O 完成处理、任务提交合并到一个循环里。”