0
这个问题与我刚刚问过的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()
其中其需要(在其他类)?
如果它不在地图中,该怎么办? – SLaks
另外,不要使用'synchronized'方法;他们不提供适当的粒度级别。 – SLaks
如果地图中的实例(当然,在SLaks指出的地方发现它!)和作为参数给出的实例是相同的,那么两者是等价的。 – ppeterka