阅读背景:

《Java高并发程序设计》学习 --5.4 高性能的生产者-消费者:无锁的实现

来源:互联网 
BlockingQueue实现生产者-消费者是一个不错的选择,它很自然地实现了作为生产者和消费者的内存缓冲区。但是,BlockingQueue并不是一个高性能的实现,它完全使用锁和阻塞等待来实现线程间的同步。在高并发场合,它的性能并不是特别优越。 就像我们之前提过的ConcurrentLinkedQueue是一个高性能的队列,但是BlockingQueue只是为了方便数据共享。而ConcurrentLinkedQueue的秘诀就是大量使用了无锁的CAS操作。同理,如果我们使用了CAS来实现生产者-消费者模式,也同样可以获得可观的性能提升。BlockingQueue实现生产者-消费者是一个不错的选择,它很自然地实现了作为生产者和消费者的内


你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: