这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
《游戏引擎实现原理》14.3 work stealing 队列的真实实现
14.2 的共享队列在核多时会撞上锁瓶颈。本节实现 Chase-Lev 双端队列:每个 worker 一条 deque,拥有者从 bottom 端 LIFO 取,窃取者从 top 端 FIFO 偷,只剩最后一个元素时用 Atomics.compareExchange 定胜负。并用 8:1 的不均衡负载,实测静态分片与 work stealing 的 makespan 与处理数分布。