2013-08-28 3 views
0

이 질문은 방금 질문 한 것과 관련되어 있습니다. here.두 가지 방법이 동일합니까?

serversprivate 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()를 호출?

+1

지도에 없으면 어떻게해야합니까? – SLaks

+3

또한'synchronized' 메소드를 사용하지 마십시오. 적절한 수준의 세밀도를 제공하지 않습니다. – SLaks

+0

지도의 인스턴스 (SLaks가 지적한 바와 같이 거기에있는 것을 볼 때!)와 인수로 주어진 인스턴스가 같으면 두 인스턴스가 동일합니다. – ppeterka

답변

1

3 번째 길은 충분해야합니다. 모두 3 명이 작업을 수행하지만 ConcurrentHashMap으로 작업 할 때 1과 2는 필요하지 않습니다.

관련 문제