我需要一个可以被多个线程访问的HashMap。
有两个简单的选择,使用普通的HashMap并在其上同步,或者使用ConcurrentHashMap。
由于ConcurrentHashMap在读操作时不会阻塞,因此它似乎更适合我的需求(几乎完全是读取,几乎从不更新)。 另一方面,我预计并发性非常低,因此不应该有阻塞(只需管理锁的成本)。
如果Map非常小(不到十个条目),是否有所不同?
与普通HashMap相比,读写操作的代价要高出多少(我假设它们是)?或者无论读/更新比率和大小如何,ConcurrentHashMap是否总是更好?