@Transactional (1) 썸네일형 리스트형 레이스 컨디션 (Race Condition) -01. @Transactional, synchronized 레이스 컨디션 이란? 레이스 컨디션은 멀티 스레드 환경에서 두개 이상의 스레드가 공유 자원에 동시에 접근하려고 경합하는 현상을 이야기 한다. 이러한 상황에서 스레드간의 실행 순서가 예측이 불가능해 지고, 그에 따라 프로그램의 실행 결과가 실행시마다 달라질 가능성이 생긴다. 즉 레이스 컨디션이 발생하면 데이터의 일관성과 정확성이 손상될 가능성이 생겨 버그로 이어질 수 있다. 다음은 레이스 컨디션을 일으킬 수 있는 코드 예제이다. public class Counter { private int count = 0; public void increment() { count++; // 이 부분에서 레이스 컨디션 발생 가능 } public int getCount() { return count; } public sta.. 이전 1 다음