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

时间:2016-12-09 19:32:23

标签: java multithreading fastutil

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

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

但我很难找到用法示例。

我如何拥有同步(线程安全的?)地图?不可变的地图?

1 个答案:

答案 0 :(得分:0)

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

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

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