Race condition1 분산환경 동시성 처리 1 - db 사용 동시성 이슈란 무엇인가?멀티 스레딩 환경에서는 동시성 이슈로 인해서 공유자원이 경쟁상태(race condition)에 놓이는 상황이 발생할 수 있다. JVM 진영에서는 객체의 상태 변수도 race condition 이 발생할 수 있는데, 이번에는 데이터베이스를 중점적으로 다뤄볼 예정이다.데이터베이스에서 발생하는 race condition 의 경우, JVM 언어가 아닌 nodejs 같은 싱글스레드 기반의 언어에서도 발생할 수 있다. 그 이유는 데이터베이스 자체가 멀티스레드로 동작하기 때문이다.동시성이 발생하는 이유는 하나의 공유 자원에 대해 여러 개의 연산이 원자적(atomic) 으로 동작하지 않기 때문이다.아래의 예시처럼 t1 스레드와 t2 스레드가 food 의 개수를 감소하는 로직을 다룬다고 했을 때,.. 2024. 5. 17. 이전 1 다음