无锁队列的原理和实现
无锁队列是指多线程对于队列的操作无需添加粒度较大的独占锁mutex
, 而是通过细粒度的CAS(compare and swap)
原子操作实现多线程下的同步. 其主要思想是: 使用mutex
的锁的代价太高, 那就使用更小粒度的锁, 甚至这个锁的粒度是一条赋值指令.
无锁队列是指多线程对于队列的操作无需添加粒度较大的独占锁mutex
, 而是通过细粒度的CAS(compare and swap)
原子操作实现多线程下的同步. 其主要思想是: 使用mutex
的锁的代价太高, 那就使用更小粒度的锁, 甚至这个锁的粒度是一条赋值指令.