wangzhengquan
2021-02-04 e782ad440171cc5e68c987352e3470b1a4234683
update
1个文件已添加
1个文件已修改
2 ■■■ 已修改文件
doc/Bus设计方案.md 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/queue-malloc.png 补丁 | 查看 | 原始文档 | blame | 历史
doc/BusÉè¼Æ·½°¸.md
@@ -26,7 +26,7 @@
1.  å…¥é˜Ÿæ“ä½œï¼šé˜Ÿåˆ—向内存管理器申请一块内存,内存管理器从内存的自由分配区分配一块内存返回给队列。
2.  å‡ºé˜Ÿæ“ä½œï¼šé˜Ÿåˆ—向内存管理器发去释放内存的请求,内存管理器释放该内存块以供下次使用。
![](./queue_coopration.png.png)
![](./queue-malloc.png)
### 2.2 æ— é”é˜Ÿåˆ—(Free Lock)的实现
无锁队列是用细粒度的原子锁实现的,多进程操作时无阻塞并发性能高。网上有五花八门的相关算法实现。我对比了一下,决定采用下面的这个。这个算法性能好是一方面,它同时也解决了队列为空时并发操作可能出现的问题,以及ABA的问题。
doc/queue-malloc.png