분명히 웹 애플리케이션 컨텍스트에서 동일한 @SessionScoped 빈에 액세스하는 여러 개의 병렬 요청을 갖는 것이 쉽습니다. 이러한 요청 내에서 @SessionScoped 빈에 액세스 할 때 동기화를 명시 적으로 제어해야한다고 생각하는 것이 맞습니까?@SessionScoped 빈은 동시성 문제가 있습니까?
2
A
답변
2
당신이 무슨 뜻인지에 따라 달라집니다 :
명시 적으로 동기화를 제어 할 때 액세스 이러한 요청 내에서 @SessionScoped 콩
당신은 병렬로 @SessionScoped
빈을 액세스하는 여러 스레드가있을 수 있음을 맞다 . 그래서 일반적으로 스레드 안전을 관리해야합니다. 명시 적으로 동기화를 제어해야하는지 (또는 전혀 동기화해야하는지) 여부는 공유 상태가 다른 스레드에서 사용되거나 수정되는 방법에 따라 다릅니다. java.util.concurrent
또는 java.util.concurrent.atomic
의 클래스를 사용하면 synchronized
문을 사용하지 않고도 완벽한 스레드 안전성을 얻을 수 있습니다.
그래, 스레드 안전을 처리해야합니다.