동시성 문제의 원인과 비관적 락, 낙관적 락, 단일 스레드 방식으로 해결하는 방법
서버는 사람의 요청이든 시스템의 호출이든 동시에 여러 작업을 처리한다. 각 요청은 보통 하나의 스레드를 할당받아 실행되며, 이 과정에서 여러 스레드가 하나의 자원을 공유하게 된다. 공유 자원을 동시에 읽고 수정하는 순간, 우리가 예상하지 못한 결과가 발생할 수 있는데, 이를 동시성 문제라고 부른다.대표적인 질문은 다음과 같다. “재고가 100개일 때 100명이 동시에 요청하면, 재고는 반드시 0이 되는가?” 단일 스레드 환경에서는 당연한 결과지만, 멀티 스레드 환경에서는 전혀 그렇지 않다. 이 글에서는 동시성 문제가 왜 발생하는지, 그리고 어떤 방식으로 해결할 수 있는지를 비관적 락, 낙관적 락, 단일 스레드 처리 관점에서 정리한다.동시성 문제 발생 원인과 Race Condition동시성 문제의 핵심 원..
2026. 2. 21.