这个问题与我刚刚问过here的问题有关。
鉴于servers
是private static ConcurrentHashMap
,以下两种方法和第三种方法都相同,因为servers
地图会反映所有三种方法所做的更改吗?
1
public static synchronized int releaseConnection(Server s) {
return servers.get(s.getId()).decrementConns();
}
2
public static synchronized int releaseConnection(Server s) {
return s.decrementConns();
}
3。只需在需要的地方调用decrementConns()
(在其他类中)?
答案 0 :(得分:1)
第三种方式是最好的,应该足够了。
所有3人都可以完成这项工作,但在您使用ConcurrentHashMap
时不需要1和2。