여러 인스턴스를 반환하는 싱글 톤 클래스가 있는데 어떻게 처리되는지 알 수 없습니다. 싱글 톤 클래스를 호출하는 스레드가 여러 개있을 가능성이 있지만, 그렇다면 어떻게 제대로 작동하게 할 수 있는지 잘 모르겠습니다. 여기에 몇 가지 코드가 있습니다.싱글 톤이 여러 인스턴스를 반환하는 경우
public class SomeClass{
private static final String TAG="someClass";
private volatile static SomeClass instance = new SomeClass();
public static synchronized SomeClass getInstance() {
Log.v(TAG,"Returning instance "+instance);
return instance;
}
private SomeClass() {
//Some initialization here
}
@Override
public String toString() {
StringBuilder sb=new StringBuilder();
sb.append("this="+System.identityHashCode(this));
return sb.toString();
}
}
그리고 내 로그는 다음과 같다 :
11-02 12:50:04.494: V/someClass(12882): Returning instance this=1386326216
11-02 12:50:04.518: V/someClass(12900): Returning instance this=1384153464
나는이 설정에있어 어떻게 주어, 나는 2 개 인스턴스를 가질 수있는 방법을 이해하지 않습니다. 어떤 아이디어?
매니페스트에 'android : process' 속성이 있습니까? – CommonsWare
'getInstance()'를 호출하는 곳에 코드를 추가하십시오. – Simas
서비스에 대한 전화가있어 그 중 일부를 담당 할 수 있습니다. 음 ... – PearsonArtPhoto