单线程写 Disruptor的RingBuffer,之所以可以做到完全无锁,是因为“单线程写”,这是所有“前提的前提”; 离开这个条件,没有任何技术能做到完全无锁; Redis,Netty等高性能框架的设计也是“单线程写”这个核心思想; 内存屏障 要正确的实现无锁,还需要另外一个关键技术,就是内存屏障; 对应到Java语言,就是volatile变量与happens-before语义; 在Linux内核中,也有对内存屏障的支持,smp_wmb()/smp_rmb();