是否可以将 HashMap 更改为同步。如果是这样,请告诉我如何更改它。
问问题
87 次
4 回答
3
对于同步 HashMap,您可以使用
Collections.synchronizedMap(<your hashmap reference>)
这将为您返回一个同步的地图,这是线程安全的。
于 2012-12-02T12:44:44.913 回答
2
ConcurrentHashMap
是同步的实现之一。
根据javadoc
支持检索的完全并发和可调整的预期更新并发的哈希表。此类遵循与 Hashtable 相同的功能规范,并包含与 Hashtable 的每个方法对应的方法版本。但是,即使所有操作都是线程安全的,检索操作也不需要锁定,并且不支持以阻止所有访问的方式锁定整个表。在依赖线程安全但不依赖同步细节的程序中,此类与 Hashtable 完全可互操作
于 2012-12-02T12:41:54.593 回答
1
采用Collections.synchronizedMap(new HashMap());
于 2012-12-02T12:42:32.523 回答
1
Collections.synchronizedMap(map);
返回由指定映射支持的同步(线程安全)映射。为了保证串行访问,对支持映射的所有访问都是通过返回的映射完成的,这一点至关重要。
于 2012-12-02T12:43:23.980 回答