
[Java+Spring] 동시성 문제와 synchronized
·
backend/java
이번 포스팅에서 알아볼 문제는 동시성 문제입니다. 오늘은 동시성 문제에 대해 간략하게 설명하고, 자바에서 synchronized를 활용하여 동시성 문제를 해결하는 방식을 알아보고자 합니다.뒤에서 언급할테지만 이 방식은 단순히 '여러 스레드의 동시 접근을 막는 방식'이기 때문에 프로세스 내에서만 유효하다는 단점이 있다.즉, 다중 서버(Scale Out)로 운용하는 서비스에서는 synchronized를 사용하더라도 동시성 문제를 해결할 수 없다. 따라서 데이터베이스에 락을 걸어 동시 접근을 차단하는 방식이 더 적합할 수 있다.이와 관련해서는 추후 DB Lock 포스팅을 작성하여 정리하고자 한다. 동시성 문제동시성 문제란, 하나의 자원에 여러 스레드가 동시에 접근하여 데이터 정합성이 지켜지지 않은 것을 의미합..