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

플하님의 프로필 이미지
플하

작성한 질문수

스프링 핵심 원리 - 고급편

쓰레드 로컬 동기화 - 개발

동기화와 동시성 차이

작성

·

281

0

동시에 traceId의 공유변수에 접근하니까 문제가 생겨서

그걸 동시성 문제라고 하는데

동기화에 문제가 있다는건 무슨말일까요?

답변 1

2

안녕하세요. 리어스리님, 공식 서포터즈 David입니다.

동시성은 여러 쓰레드가 동시에 실행되는 성질을 말합니다. 동시에 공유변수에 접근해서 문제가 발생하였기에 동시성 문제라고 볼 수 있습니다.

조금 더 구체적으로 보면, 동시에 공유변수에 접근하였는데 문제가 되는 부분은 데이터 동기화입니다.

각각의 스레드가 가져야 하는 데이터가 있는데 동시에 접근하여 데이터가 변경되다 보니 섞여버렸습니다. trace depth가 의도치 않게 더 깊어지는 문제도 이로인한 것입니다.

따라서, 동시에 쓰레드가 실행되는 과정 중 데이터가 꼬였기에 동기화에 문제가 있다고 보는 것입니다.

감사합니다.

플하님의 프로필 이미지
플하

작성한 질문수

질문하기