disruptor是一个内存队列,目的是为了线程间队列通信使用的,不同于kafka等分布式队列,区别于ArrayBlockQueue等队列的性能优势在于以下几点:
a.环形队列(长度是2的n次幂)
b.对象预创建,对象复用
c.去除了内存伪共享
d.使用cas代替锁的操作
备注: 内存伪共享是指cpu的L1内存可以存放8个long类型的变量,比如var10-var18,如果cpu1修改了var10的变量,那么cpu2中L1缓存行里面这些变量就要作废,要重新从主内存读取,反之如果cpu2修改了变量var15,那么cpu1中L1缓存行里面的这些变量也都要作废,也要重新从主内存读取,显而易见,这会严重影响性能
disruptor小结1--优势
最新推荐文章于 2023-07-07 06:45:29 发布