개발 지식

Java의 synchronized 키워드에 대한 고찰

dm.kim 2020. 11. 14. 10:54

메소드의 변수들로 사용해도 될 것들을 생각없이 전부 클래스단 필드로 사용하는 습관이 있었다. 따라서 하나의 객체가 생성되고 필드값들은 공유가 되기에 메소드에서 계속 동기화 문제가 생겼었다. 그래서 해결한 방법이 메소드에 synchronized 키워드를 사용하였는데 이 또한 문제를 문제로 덮어버리는 꼴이 되었다. 왜냐하면 synchronized 키워드를 쓰게 된다면 멀티 요청이 들어오는 환경에서 순차적으로 일을 처리하기에 크기가 큰 요청이 들어오면 다른 요청들은 그 요청이 끝날 때까지 기다리는 등 속도의 문제가 생기기 때문이다.

따라서 synchronized 키워드는 최대한 안쓰는 것이 좋다.

'개발 지식' 카테고리의 다른 글

JavaScript의 배열 선언 방식과 그에따른 '==', '===' 연산자 사용시 다른 점 정리  (0) 2020.11.22
필드, 변수, static, final  (0) 2020.11.14
DAO, DTO  (0) 2020.10.05
REST란?  (0) 2020.09.26
디자인 패턴  (0) 2020.09.26