본문 바로가기
IT/Java

Thread Safe

by 봉즙 2020. 7. 8.

StringBuilder와 StringBuffer를 사용하던 도중 지역변수의 경우 스레드에 세이프 하기 때문에 StringBuilder를 사용하여도 된다.

스프링 빈은 근본적으로는 스레드에 세이프 하지 않는다.

만약 인스턴스 변수가 빈에 존재한다면 스레드 세이프 하지 않다.(상태를 가지고 있다고한다.) 그렇기에 인스턴스 변수가 존재한다면 값이 변하지 않는 읽기 전용인 경우에만 허용하도록 한다.
무상태 빈을 만들어 해결한다.

해결 방법은

  • 지역변수로 사용함으로써 스레드 세이프하게 만드는 것이다.

  • scope를 prototype으로 하여 요청시마다 객체를 새로 만드는 것인데 성능상의 문제를 이르킬 가능성을 가지고 있다.

'IT > Java' 카테고리의 다른 글

폴더 zip로 압축  (0) 2020.08.05
Arrays.asList()  (0) 2020.07.28
Field Injection | Contructor Injection  (0) 2020.07.07
정규식 추출  (0) 2020.03.17
이펙티브 자바 8장 - 메서드  (0) 2020.01.06

댓글