OneToOneConcurrentArrayQueue :单个producer/consumer队列的无锁高性能

13-06-21 banq
                   

无锁算法能获得无限的性能Lock-Free Algorithms For Ultimate Performance一文阐述了在一个队列在单个producer/consumer(只有一个生产者和一个消费者)情况下,可以通过无锁获得比JDK原生ArrayBlockingQueue 更高性能。

附图是测试结果,最后一行是OneToOneConcurrentArrayQueue3,代码下载:https://github.com/mjpt777/examples/tree/master/src/java/uk/co/real_logic/queues


                   

3
bingyang
2013-06-22 22:42

看起来最后一个性能还可以 不知道和 disruptor 比起来,谁的性能会更好

lostalien
2013-06-24 17:42

只有一个生产者和一个消费者。。。?这。。意义大么。。。

banq
2013-06-25 08:34

2013-06-24 17:42 "@lostalien

"的内容

只有一个生产者和一个消费者 ...

这个可以有,在方法中new 队列,这样只有一个生产者,再做一个线程不断查询队列,这样就只有一个消费者。在安卓Android中用来实现异步事件更好。

还可以实现Actor模型的一部分功能:http://www.jdon.com/45516#23142802

[该贴被banq于2013-06-26 07:46修改过]