This question is related to one I just asked here.

Givenservers is a private static ConcurrentHashMap, are the following two methods and the third approach all equivalent in that the servers map will reflect the change made by all three?

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. just call decrementConns() where its needed (in other classes)?

有帮助吗?

解决方案

3rd way is best and should be sufficient. All 3 will do the job but 1 and 2 are not needed as you are working with ConcurrentHashMap.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top