java - 如何在fastutils中实现线程安全或不可变的集合?

标签 java multithreading fastutil

Fastutil 似乎是 Java 中集合的最快选项。

有这些javadoc: http://fastutil.di.unimi.it/docs/it/unimi/dsi/fastutil/longs/Long2ObjectMaps.SynchronizedMap.html

但我很难找到用法示例。

如何获得同步(线程安全?)映射?不可变的 map ?

最佳答案

每种 map 类型都有自己的同步包装类(例如上面链接的Long2ObjectMaps.SynchronizedMap)。要使用它,请实例化一个具体的 map 实现,然后使用相应的 ...Maps.synchronize() 方法来获取同步版本:

Long2ObjectMap<Foo> unsynched = new Long2ObjectOpenHashMap<>();

// this is actually a Long2ObjectMaps.SynchronizedMap
Long2ObjectMap<Foo> synched = Long2ObjectMaps.synchronize(unsynchronized);

关于java - 如何在fastutils中实现线程安全或不可变的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41067594/

相关文章:

java - 与 i++ 相比,执行强制转换操作的成本有多高?

Java:让 ExecutorService 产生可重复的行为?

java - 如何直接从kafka主题查询?

java - 在java中将字符值转换为十六进制

java - 如何临时将现场线程设为本地

java - 获取MYSQL最近更新的数据或最近插入的数据

java - 如何使用 Collection.sort() 对 FastUtil BigList 进行排序

java - 与 ArrayList 相比,ObjectArrayList 的首选用法

java - 为什么Java方法的整数参数映射到Int而不是平台类型?

Java Vector3 计算两个 vector 之间的角度