一个并发相关的问题。关于线程安全的list结构,网上只找到两种答案:(1) Collections.synchronizedList和(2) CopyOnWriteArrayList。
简单看了下源码,前者读操作也要上锁,导致无法多线程同时读,效率较低;后者修改元素时直接copy整个数组,写操作效率也很低。
问题来了,Java中有支持读写锁的list结构吗?很多场景下,是不是支持读写锁的list要比前两个更快呢?
一个并发相关的问题。关于线程安全的list结构,网上只找到两种答案:(1) Collections.synchronizedList和(2) CopyOnWriteArrayList。
简单看了下源码,前者读操作也要上锁,导致无法多线程同时读,效率较低;后者修改元素时直接copy整个数组,写操作效率也很低。
问题来了,Java中有支持读写锁的list结构吗?很多场景下,是不是支持读写锁的list要比前两个更快呢?
本文标题:线程安全的list
本文链接:https://www.haomeiwen.com/subject/wvfewctx.html
网友评论