现在的位置: 首页 > 综合 > 正文

《Implementing Lock-Free Queues》

2013年12月11日 ⁄ 综合 ⁄ 共 280字 ⁄ 字号 评论关闭

(1)数据结构在多个线程间使用时,需要使用互斥锁来进行同步。

(2)互斥锁有一系列的缺陷

(3)架构CPU支持的汇编指令(CMPXCHG)和系统支持的API(__sync_*和Interlocked*函数),可以将比较和交换操作封装为原子操作(CAS,compare and swap),这是实现无锁数据结构的核心

 

参考资料:

用于并行计算的多线程数据结构,第 2 部分: 设计不使用互斥锁的并发数据结构

无锁队列的实现

John D. Valois 1994年10月在拉斯维加斯的并行和分布系统系统国际大会上的一篇论文——《Implementing Lock-Free Queues

 

 

抱歉!评论已关闭.