LockFreeQueue 使用了自旋锁,没有使用原子变量,这算是无锁队列吗
brioyche opened this issue · 2 comments
brioyche commented
如题
scorpiostudio commented
LockFreeQueue使用了CAS机制封装的自旋锁,C++11才有的原子变量,更好的实现是使用C++11原子操作和内存序实现。无锁编程是指不使用互斥锁。内核同步方式中很多都有使用CAS实现的,不同自旋锁、RCU,互斥锁本身也有spinlock和waiterlist
scorpiostudio commented
后续会更新C++11版本的,目前还没有测试过共享内存版本。