동시성 문제와 데드락, 테스트와 해결, 그리고 삽질
2023. 6. 6. 21:36
JAVA
이 글은 Notion에서 더 잘 보이게 작성되어 있습니다! 여기에서 공개된 글로 보시면 편하게 보실 수 있습니다..! 개요 한정된 자원인 사물함에 대해 대여 서비스인 Cabi를 진행하면서 동시성 문제를 겪었었다. 트랜잭션과 격리수준에 대해 간략히 설명하고, 이전의 Nest.js에서 해결했던 방법과, 지금 새로이 Spring으로 포팅하면서 해결하고자 한 방법들에 대해서 써보려고 한다. (장문 주의) 동시성 문제? 유명한 문제 중 하나인 **‘식사하는 철학자 문제’**와 같이, 정해진 자원에 대해, 스레드나 프로세스가 동시적인 점유와 조작을 시도했을 때, 의도하지 않은 결과가 발생하는 것을 의미한다. 자세한 내용은 이곳을 참조하면 좋을 것 같다. 문제 상황 까비에서 서비스로 제공하는 사물함의 종류는 1인 상..