Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 비즈니스 로직
- 테스트 코드
- 스네이크 케이스
- Service 테스트
- 자바
- Array
- Controller 테스트
- 공유락
- 비링크
- Entity
- 마이크로서비스 아키텍처
- Repository 테스트
- 트랜잭션 락
- 스터디
- 디자인 패턴
- do...while
- jvm
- @Version
- @Query
- springDataJpa
- 배열
- 낙관락
- Java
- 배타락
- 원시 자료형
- 스프링 부트
- DTO
- OOP
- 자료구조
- 파스칼 케이스
Archives
- Today
- Total
목록트랜잭션 락 (1)
menuhwang

동시성 문제 해결을 위해 관련 내용을 공부하고 최종적으로 스프링과 Spring Data JPA 환경에서 적용한 과정을 정리하고자 한다. 동시성 문제란? 여러 스레드가 동시에 하나의 자원을 사용할 때 발생하는 문제를 말한다. 은행 계좌와 상품 재고를 대표적인 예로 들 수 있다. 출금 처리가 완료되기 전에 입금된다면? A가 10만원이 있는 계좌에서 2만 원을 출금하는 도중, 아직 출금 처리가 되지 않았을 때 B가 5만 원을 입금한다면 어떻게 될까? A, B 모두 계좌 잔고를 10만원으로 읽어온다. case 1 : 출금 처리가 먼저 처리된 경우 10만원에서 2만 원을 출금한 8만 원이라는 결과를 저장한다. 그 후 10만원에서 5만 원을 입금한 15만 원이라는 결과를 저장한다. 최종적으로 계좌 잔고는 15만원이..
컴퓨터 공학
2023. 4. 21. 16:41