인프런 커뮤니티 질문&답변

pozit님의 프로필 이미지
pozit

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

문제점

동시성 이슈 원인에 대해 질문드립니다.

작성

·

450

0

안녕하세요.

강의 잘 듣고 있습니다.

 

4분 17초부터 동시성 이슈의 원인을 db select, update하는 과정이 순서가 보장되지 않아 생기는 문제라고 설명해주시는데요.

해당 관점에 더해서 "stock을 select하고 와서 quantity 변수를 수정할때도 메모리상에 read,update,write가 이루어질텐데 여기서도 스레드들이 메모리 접근 순서를 보장할수 없기때문에 이와 같은 동시성 이슈가 생긴다" 라는 생각도 맞을까요?

답변부탁드립니다.

감사합니다.

답변 1

1

최상용님의 프로필 이미지
최상용
지식공유자

pozit 님 안녕하세요.

말씀해주신 생각은 강의내용과 별개로 생각했을때는 맞는말씀이라고 생각됩니다.

예를들어 int i = 0; 으로 초기화된 변수에 10000개의 스레드가 1씩 더할때 말씀해주신 동시성이슈가 발생해서 최종값이 10000 이 안되는 이슈가 발생합니다.

 

pozit님의 프로필 이미지
pozit
질문자

답변 감사합니다.

pozit님의 프로필 이미지
pozit

작성한 질문수

질문하기