
2025-01-09 수정)

여러 트랜잭션이 사용자 요청마다 실행될 때, 각 트랜잭션이 하나의 엔티티만 참조하면 좋지만, 여러 엔티티를 참조할 경우 겹치는 엔티티가 발생할 수 있다.
이 경우, 겹치는 트랜잭션들이 단순 조회만 한다면 문제가 없지만, 수정을 수행하면 충돌로 인해 에러가 발생할 수 있다.
여러 사용자들에 의해 여러 트랜잭션이 동시실행, 충돌 (단 공유된 자원)
결국 트랜잭션안에 수정이 일어나기만 하면 동시성 문제 고려해야함
공유된 자원 수정 -> 비관적 락으로 다른 트랜잭션 접근 차단
고유한 자원(비밀번호) -> 낙관적 락으로 불필요한 자원 최소화
이론적으로는 동시성 문제를 이렇게 정리했지만, 실제로는 적용해 보면서 더 깊이 이해해야 할 것 같다.
아래 링크는 동시성 문제에 대해 전체적으로 정리된 글로, 개인적으로 이 글에 대한 생각이 아래글에 같이 담겨있다.
(동시성 문제에 대한 글)
https://velog.io/@lee41180612/%EB%8F%99%EC%8B%9C%EC%84%B1-%EB%AC%B8%EC%A0%9C