2017-09-10 21 views
2

분명히 웹 애플리케이션 컨텍스트에서 동일한 @SessionScoped 빈에 액세스하는 여러 개의 병렬 요청을 갖는 것이 쉽습니다. 이러한 요청 내에서 @SessionScoped 빈에 액세스 할 때 동기화를 명시 적으로 제어해야한다고 생각하는 것이 맞습니까?@SessionScoped 빈은 동시성 문제가 있습니까?

답변

2

당신이 무슨 뜻인지에 따라 달라집니다 :

명시 적으로 동기화를 제어 할 때 액세스 이러한 요청 내에서 @SessionScoped 콩

당신은 병렬로 @SessionScoped 빈을 액세스하는 여러 스레드가있을 수 있음을 맞다 . 그래서 일반적으로 스레드 안전을 관리해야합니다. 명시 적으로 동기화를 제어해야하는지 (또는 전혀 동기화해야하는지) 여부는 공유 상태가 다른 스레드에서 사용되거나 수정되는 방법에 따라 다릅니다. java.util.concurrent 또는 java.util.concurrent.atomic의 클래스를 사용하면 synchronized 문을 사용하지 않고도 완벽한 스레드 안전성을 얻을 수 있습니다.

그래, 스레드 안전을 처리해야합니다.