Disruptor高级(六)高性能的核心思想

单线程写

  • Disruptor的RingBuffer,之所以可以做到完全无锁,是因为“单线程写”,这是所有“前提的前提”;
  • 离开这个条件,没有任何技术能做到完全无锁;
  • Redis,Netty等高性能框架的设计也是“单线程写”这个核心思想;

内存屏障

  • 要正确的实现无锁,还需要另外一个关键技术,就是内存屏障;
  • 对应到Java语言,就是volatile变量与happens-before语义;
  • 在Linux内核中,也有对内存屏障的支持,smp_wmb()/smp_rmb();

猜你喜欢

转载自blog.csdn.net/weixin_33669968/article/details/89049954