线程安全队列

2019-03-25  本文已影响0人  蜡笔没了小新_e8c0

Concurrent开头的容器往往就是线程安全的队列,支持并发。
不过Concurrent类型的容器没有CopyOnWrite之类的容器那样相对较重的修改开销,不过具有较低的遍历一致性,例如在遍历时容易发生“fast-fail”行为,抛出ConcurrentModificationException异常。

线程安全队列有如下几种:


线程安全队列.jpg

关于BlockingQueue是否有界问题:

在newFixedThreadPool和newSingleThreadExecutor线程池中采用的就是LinkedBlockingQueue阻塞任务队列,所有它们允许的请求队列长度为Integer.MAX_VALUE。

在newCachedThreadPool线程池中作为阻塞任务队列使用。

以LinkedBlockingQueue、 ArrayBlockingQueue和SynchronousQueue为例,我们一起来分析一下,根据需求可以从很多方面考量:c

上一篇 下一篇

猜你喜欢

热点阅读