내가 가지고있는 다음과 같은 두 개의 클래스 :자바 : 스레드 안전 클래스 인스턴스
public class MyClass {
public static void faceTheWorld(String Input){
SafeClass sC = new SafeClass();
sC.workWithInput(Input);
}
}
public class SafeClass {
public void workWithInput{String allInp)
work with allInp...
}
내 질문입니다. 같은 시간에 MyClass.FaceTheWorld()를 여러 번 호출하면 항상 SafeClass의 새 클래스 인스턴스를 만들거나 'sC'라는 동일한 인스턴스를 항상 만들려고합니까?
같은 인스턴스를 동시에 만들지 않도록 인스턴스 배열을 만들어야합니까? 자바에서 어떻게 보이나요?
궁극적으로 내가 달성하고자하는 것은 '입력'으로 FaceTheWorld를 호출하면 항상 '입력'이 스레드로부터 안전하다는 것을 확인하는 것입니다. 다른 인스턴스는 수정할 수 없으며 액세스 할 수 없습니다.
SafeClass를 동기화하면 문제가 해결됩니까?
많은 감사
만큼 당신이 방금 새로운 인스턴스를 만들 경우 다른 스레드 (클래스의 멤버, 또는 정적 변수) 당신이 어떤 경쟁 조건을 가지고하지 않습니다에 의해 변경 될 수있는 변수에 액세스하지 않는
Java 명명 규칙을 따르는 것이 좋습니다. – AmitG
안녕하세요, Amit, 당신은 무엇을 의미합니까? – L4zl0w
은 메서드 이름을 쓰는 동안 낙타의 경우를 사용하고 클래스 이름을 쓰는 동안 파스칼 케이스를 사용합니다 (클래스 이름을 따랐을 때) – AmitG