无锁阻塞队列

该组件内部是一个环形数组,受Disruptor启发而创建! Disruptor是一个优秀的无锁队列,内部使用环形数组避免java对象的频繁受垃圾回收器回收。Disruptor本身在使用时会过于复杂而且是基于回调的编程方式,不如jdk自带的BlockingQueue使用方便。

 jdk自带的BlockingQueue的缺点就是锁带来的性能损耗!

另外jdk还自带一个无锁非阻塞队列ConcurrentLinkedQueue,当它用在生产者消费者模型时,如果消费者消费较慢,生产者生产较快,ConcurrentLinkedQueue里的对象会无限增加最后内存溢出!

 

软件首页http://code.google.com/p/unlock-blocking-queue/

你可能感兴趣的:(无锁队列,环形数组,无锁阻塞队列)