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

单线程写

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

内存屏障

  • 要正确的实现无锁,还需要另外一个关键技术,就是内存屏障;
  • 对应到Java语言,就是volatile变量与happens-before语义;
  • 在Linux内核中,也有对内存屏障的支持,smp_wmb()/smp_rmb();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容