synchronized 와 @Transactional
안녕하세요. 제가 이해한게 맞는지 궁금해서 여쭤봅니다.@Transactional에서 고립 레벨 디폴트가 read_committed 이고, synchronized는 quantity를 동기화할 뿐, 트랜잭션의 시작과 끝을 동기회하지는 않음.그래서 여러 스레드에서 트랜잭션이 동시에 시작되고, 모든 트랜잭션들이 자신의 트랜잭션이 시작되기 전에 커밋된 quantity == 100개의 상태일 때 접근하게 됨. (read_committed이면 다른트랜잭션이 커밋한 내용이 보이는데,아직 다들 커밋을 안한 상태라서 현재 모두들 공유자원이 100개로 보이는 상태.)이 순간에 quantity가 동기화되면서 하나의 스레드씩만 접근을 해서 quantity를 줄이고, 그 quantity에 대한 락이 풀림. 그리고 먼저 실행된 트랜잭션이 커밋되려고 하는데, 다른 트랜잭션이 그때 락이 풀려있는 quantity에 접근할 수 있음.위 내용대로 이해했는데 맞을까요?