QuantFabric/Utils

LockFreeQueue 使用了自旋锁,没有使用原子变量,这算是无锁队列吗

brioyche opened this issue · 2 comments

如题

LockFreeQueue使用了CAS机制封装的自旋锁,C++11才有的原子变量,更好的实现是使用C++11原子操作和内存序实现。无锁编程是指不使用互斥锁。内核同步方式中很多都有使用CAS实现的,不同自旋锁、RCU,互斥锁本身也有spinlock和waiterlist

后续会更新C++11版本的,目前还没有测试过共享内存版本。