Java并发编程
Java并发编程从入门到精通
乄名007
你好!佩琦~没时间写呢 点个赞呗~
展开
-
无锁的缓存框架: Disruptor
无锁的缓存框架: DisruptorDisruptor框架是由LMAX公司开发的一款高效的无锁内存队列。它使用无锁的方式实现了一个环形队列,非常适合于实现生产者和消费者模式,比如事件和消息的发布。在Disruptor中,别出心裁地使用了环形队列(RingBuffer)来代替普通线性队列,这个环形队列内部实现为一个普通的数组。对于一般的队列,势必要提供队列同步head和尾部tail两个指针,用于出...原创 2018-10-18 14:03:37 · 533 阅读 · 0 评论 -
CPU Cache的优化:解决伪共享问题
除了使用CAS和提供了各种不同的等待策略来提高系统的吞吐量外。Disruptor大有将优化进行到底的气势,它甚至尝试解决CPU缓存的伪共享问题。什么是伪共享问题呢?我们知道,为了提高CPU的速度,CPU有一个高速缓存Cache。在高速缓存中,读写数据的最小单位为缓存行(Cache Line),它是从主存(memory) 复制到缓字(Cache) 的最小单位,一般为32字节到128字节。如果两个变量...原创 2018-10-18 15:07:27 · 1349 阅读 · 0 评论