并发JDK数据结构
2016-11-04 12:26:27 0 举报
AI智能生成
并发JDK数据结构是Java并发编程中常用的数据结构,包括ConcurrentHashMap、ConcurrentLinkedQueue、ConcurrentLinkedDeque等。这些数据结构在多线程环境下能够保证线程安全,并且具有较高的性能和可扩展性。其中,ConcurrentHashMap采用了分段锁技术,能够在并发读写时提供更好的性能;ConcurrentLinkedQueue和ConcurrentLinkedDeque则采用了无锁技术,能够在高并发场景下提供更高的吞吐量。使用并发JDK数据结构可以有效地提高程序的并发性能和可靠性,是Java并发编程中不可或缺的一部分。
作者其他创作
大纲/内容
Queue
高性能队列
ConcurrentLinkedQueue
一个基于链接节点的无界线程安全
阻塞队列
ArrayBlockingQueue
由数组支持,先进先出的阻塞队列
DelayQueue
无界阻塞队列
LinkedBlockingQueue
于已链接节点的、范围任意的 blocking queue
PriorityBlockingQueue
一个无界阻塞,有顺序的队列
SynchronousQueue
阻塞队列,其中每个插入操作必须等待另一个线程的对应移除操作
Deque
LinkedBlockingDeque
基于已链接节点的、任选范围的阻塞双端队列
List
Vector
在get、add时都是通过同步锁来保证线程安全的
CopyOnWriteArrayList
利用对象的不变形,在对象没有被写之前,由于对象没有发生改变,可以直接返回,如果要写入对象,则先拷贝一份
get()操作,直接返回,没有加锁
add()操作:lock-->copy-->add-->set-->unlock
Collections.sychronizedList
Set
CopyOnWriteArrayList
内部完全依赖CopyOnWriteArrayList
Map
HashTable
锁整个表,效率低下
ConcurrentHashMap
分段锁
求size时需要锁整个表
get操作,没有锁机制
Collections.sychronizedMap
0 条评论
下一页