我需要一个可从多个线程访问的 HashMap。
有两个简单的选项,使用普通的 HashMap 并在其上同步或使用 ConcurrentHashMap。
由于 ConcurrentHashMap 不会阻止读取操作,它似乎更适合我的需求(几乎完全读取,几乎从不更新)。另一方面,无论如何,我希望并发性非常低,所以不应该有阻塞(只是管理锁的成本)。
地图也将非常小(少于十个条目),如果这有所作为的话。
与常规的 HashMap 相比,读写操作的成本要高多少(我假设它们是)?或者,无论读取/更新比率和大小如何,即使可能存在中等级别的并发访问,ConcurrentHashMap 是否总是更好?