public enum Type
{
ONE, TWO, THREE, FOUR
}
같은 enum
클래스는이 있으라는의 접근에 Type.values()
배열 스레드 안전한가요 for
루프 (예 : 정적 방법)? 예를 들어, 하나는 이들 값의 임의의 부분 집합 정적 배열 변수를 정의하는 경우에는
public static void process()
{
for (Type type:Type.values())
{
// Do something
}
}
또한, 그 스레드한다 에 금고 읽어? 예를 들어 두 경우
public static final Type[] TYPES = new Type[] {TWO, THREE};
public static void process()
{
for (Type type:TYPES)
{
// Do something
}
}
상기 process()
방법은 Type
enum
정의보다 상기 types
어레이의 다른 클래스에 속할 수있다.
또한 TYPES
배열은 Type
enum
한번 정의되고 그 enum
의 고정 방법에 의해 반환 될 수있다.
위와 같이 여러 스레드에서 동시에 process()
메서드를 실행하는 경우 코드가 스레드 안전성을 유지합니까 (적어도 TYPES
배열의 값을 읽는 것만 큼)?
나는 그 질문을 읽었으며, 내 것과 동일하지 않습니다. :-) – PNS
어떻게 달라 졌다고 생각하십니까? 나에게도 똑같이 보인다. 열거 형은 Java에서 스레드로부터 안전하다고 보장되므로 런타임시 열거 형 값을 수정할 방법이 없으므로 유형을 반복하는 것이 안전하다는 것을 보장 할 수 있습니다. – jjathman
이것은 내가 실제로 확인하기를 원하는 것입니다. – PNS