文档目录
对比 全局队列 Work-Stealing
实现复杂度 简单 复杂
每个任务的取队列开销 1 次锁争用 极少争用(自己队列无竞争)
负载均衡 自然均衡(谁抢到谁做) 需要偷取来均衡
缓存局部性 差(任务被随机线程执行) 好(自己入队的任务自己执行)
适用场景 任务执行时间不固定 任务短小、频率高

什么时候用 Work-Stealing?

你的 SimpleAsyncLogger 那种场景——生产者线程写入日志(微任务),刷盘线程消费——是 SPSC,不需要 Work-Stealing。Work-Stealing 真正有用的是计算密集型的、任务大量且短小的并行计算,比如浏览器渲染引擎(Chromium 的 Blink 线程池就是 Work-Stealing)。