본문으로 바로가기

[자바] Thread Safety란?

category 프로그래밍/자바 2019. 1. 30. 15:24

Thread Safety를 보장하는 방법은 다양하다.

하지만 간단하게 핵심적인 몇가지만 적어보고자 한다.


1. immutable 불변하는 객체는 무조건 Thread safety하다.

   예_) String


2. only-read 

   : 읽기만 하면 Thread safety 하다.


3. mutable -> 이 경우에는 thread safe하게 만들기 위해 동기화 작업이 필요

=> 읽기 작업과 쓰기 작업을 분리시키면 동기화 영역이 줄어든다.



=> 이러한 패턴을 Producer-consumer 패턴이라고 부르며 서버 사이드에서 이렇게 작동한다.



용어정리)


"안정성" => 반드시 의도한대로 동작한다. safety

"성능" -> 의도한 시간내에 요청 처리