0 0

ConcurrentLinkedQueue和BlockingQueue的区别到底在哪里?0

网上关于这两者的说法是前者是一个无阻塞的队列,后者是有阻塞的。但是两者都是线程安全的,而且网上大部分文章都提到应该用BlockingQueue这种有阻塞的队列实现生产者消费者模式。我很奇怪都是线程安全的为啥ConcurrentLinkedQueue不能用于实现生产者消费者模式,这两者的根本区别在哪里?
2014年9月28日 10:50

1个答案 按时间排序 按投票排序

0 0

1.BlockingQueue多了2个阻塞方法,put方法在队列满(有界队列)的时候阻塞以等待空位,take方法在队列空的时候阻塞等待新的可用资源到达;
2.ConcurrentLinkedQueue是无阻塞的队列,可伸缩性比BlockingQueue高

2014年9月28日 22:22

相关推荐

Global site tag (gtag.js) - Google Analytics