使用C++11利用CAS原理实现无锁队列。因为在多线程服务器中使用了一个消息队列,该消息队列使用了两把锁控制读写,因此效率损失较大,故探索多生产者多消费者的无锁队列以提升性能。本文引用了CSDN xin_hen的观点和代码并做出了一定调整。无锁队列无需用户在外围控制锁来保证队列的线程安全问题,减少因为锁带来的性能开销。CAS(Compare and swap, 对比后交换),这是一种所有CPU都支持的原子操作,由于其原子性,可以被用来实现各类无锁数据结构。其在C++11中的atomic中被支持,因此可以实现跨平台的开发。