我有一个包含 3 个 HashMap 的单例类。每个 HashMap 就像一个池。我把未使用的条目放在那里。我遇到了并发修改异常,所以我打算对它们实现同步。我的问题是,如果我对所有这些都使用相同的锁,则可能会出现性能问题。因为当我为该池创建条目时,它是通过 Web 服务调用进行的。由于我只需要每个 hashmap 不同时运行,那么为它们创建 3 个对象锁可以吗?
最佳答案
我建议您使用ConcurrentHashMap .
The table is internally partitioned to try to permit the indicated number of concurrent updates without contention.
尝试使用 concurrencyLevel 参数调整性能。
关于java - 单例类的不同锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41823182/