del*_*met 16 java arrays concurrency
因此,Java中有一个并发的hashmap,其优点是不会锁定整个哈希表,而只是锁定它的一部分.我想知道阵列是否有这样的结构.特别是当调整阵列大小时,锁定整个阵列是不可取的,尤其是在实时应用中.还有什么吗?
Boz*_*zho 18
有AtomicIntegerArray(和类似的AtomicReferenceArray)可能适合您的描述.但正如Marcelo所说 - 你无法调整阵列的大小.因此,您只需获得并发安全性,而无需显式锁定(打开)整个阵列.
一个数组......其中元素可以原子方式更新
Java 6还添加了一个名为ConcurrentSkipListSet的有趣集合
... ,操作及其变体的平均log(n)时间成本.插入,删除和访问操作由多个线程安全地同时执行.迭代器是弱一致的,在迭代器创建时或之后的某个时刻返回反映集合状态的元素.它们不会抛出ConcurrentModificationException,并且可能与其他操作同时进行...contains, addremove
您始终可以使用以下其中一种:
java.util.Collections.synchronizedList(List<T> list)java.util.Collections.synchronizedCollection(Collection<T> collection)java.util.Collections.synchronizedSet(Set<T> set)你的要求不是很清楚。也许 java.util.collections copy-on-write 列表或集合也可以。
| 归档时间: |
|
| 查看次数: |
13421 次 |
| 最近记录: |