[Spring] synchronized 키워드를 활용한 동시성 문제 해결 및 한계 - 1
·
Spring/동시성 & Lock
동시성 처리우리가 웹 서비스를 개발하다보면 수많은 종류의 동시성 문제를 만날 수 있다.주문을 도메인으로 갖는 서비스에서 상품 재고 동시성 처리선착순 쿠폰에 관한 동시성 처리한정판 등등 동시성 문제는 공유 자원을 동시에 접근하는 과정에서 `Critical Section`에서 발생하는`Race Condition`으로 인한 문제를 의미한다. 따라서, 이번 포스팅에서는 JVM 환경에서 제공하는 `synchronized` 키워드를 사용하여 동시성을 제어하고동시에 한계에 관해 설명하려 한다. 설명에 앞서, 프로세스와 스레드에 대해서 간단하게 짚고 넘어가자. Proccss와 Thread 프로세스는 무엇일까? 디스크에 파일 형태로 존재하던 프로그램이 주기억장치에 적재되면 그걸 프로세스라고 한다.적재된 프로세스는 `..