더북(TheBook)

icon_check

 

질문 12

스레드 안전의 의미가 무엇이며 이를 구현하는 방법은 무엇인가요?

답변

스레드 안전은 하나의 자원 또는 객체에 여러 스레드가 접근해도 프로그램을 실행하는 데 문제가 없는 것을 의미합니다. 자바에서 스레드 안전을 구현할 때 Synchronized 키워드를 사용하는 방법이 있습니다. Synchronized 키워드는 임계 영역에 하나의 스레드만 접근할 수 있게 해서 이 키워드를 사용한 블록 단위로 락의 획득 및 해제가 발생합니다. Synchronized 키워드를 사용할 때 블록을 크게 잡으면 성능 저하 문제가 생길 수 있으므로 임계 영역을 최소화해야 합니다.

TIP 여기서는 자바로 스레드 안전을 구현하는 방법을 설명했지만, 각자 자신의 주 언어로 어떻게 스레드 안전을 구현할 수 있는지 숙지해야 한다. 또한, 본인이 프로젝트를 진행하면서 스레드 안전을 고려해 코드를 작성한 경험이 있다면 답변에 포함하는 것도 좋다.


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.