인프런 커뮤니티 질문&답변

궁금이님의 프로필 이미지
궁금이

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

동시 요청 - 멀티 쓰레드

멀티쓰레드 싱글톤

작성

·

314

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
싱글톤 객체를 멀티쓰레드로 이용할 때, 이럴 때 그냥 멤버로 flag 하나 달아두면 되지 않나요?

답변 1

0

안녕하세요, 인프런 AI 입니다. 싱글톤 객체를 멀티쓰레드로 이용할 때, 멤버로 flag를 달아두는 것은 가장 간단한 방법 중 하나입니다. 하지만 이 방법은 멀티스레드 환경에서 동시에 여러 스레드가 해당 객체에 접근할 때, 동기화 문제가 발생할 수 있습니다. 동기화를 처리하지 않으면, 여러 스레드가 동시에 객체에 접근하여 예상치 못한 결과가 발생할 수 있습니다.
따라서, 여러 스레드가 접근할 때 동기화를 보장해주기 위해 Synchronized 키워드를 사용하거나, Double-checked locking 기법을 사용하는 등의 방법을 이용하여 동기화 문제를 해결해야 합니다. 이외에도 다양한 방법으로 싱글톤 객체를 멀티쓰레드 환경에서 안전하게 사용할 수 있으니, 참고하시기 바랍니다. 감사합니다.

궁금이님의 프로필 이미지
궁금이

작성한 질문수

질문하기