강의

멘토링

커뮤니티

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

정호준님의 프로필 이미지
정호준

작성한 질문수

넓고 얕게 외워서 컴공 전공자 되기

원자성, 동기화 그리고 교착상태

원자성과 동기화에 대한 사소한? 질문 있습니다.

해결된 질문

작성

·

8

0

필기해주시면서 설명해주신 부분이
원자성 : 자원을 선점한 후 독점적으로 사용할 수 있다.
1. 누군가 자원을 선점했는지 확인한다.

2.사용 중이라면 대기한다.

3.사용 중이 아니라면 진입하여 Lock을 건다.

4.Lock을 건 순간부터 해당 자원을 선점한다.

5.작업을 마치면 Unlock하고 빠져나온다.

동기화 : 신호등과 비슷한 역할

이렇게 해주셨는데 원자성에 대한 1~5번까지의 매커니즘 내용은 정확하게 말하면 동기화에 대한 설명아닌가 헷갈려서 질문드립니다. 감사합니다

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

개발자들이 흔히 '원자성이 보장된다' 라는 표현은 두 가지 의미가 있는 것 같습니다. 특정 변수 접근에 대한 원자성과 '코드 구간'에 대한 원자성이라는 표현이 있지요. 큰 의미로 보면 둘에 대한 차이는 없는 것 같습니다. 물론 굳이 따지면 동기화로 보는 편이 타당하겠습니다. 보통 원자성은 나눌 수 없는 단일 연산에 대해 부여하기 때문입니다. 그러나 그러한 학술적인 내용과는 별개로 '코드 구간에 대한 원자성 보장' 같은 표현이 비교적 널리 사용되고 있다는 점을 알고 계시면 될 것 같습니다. 😄

정호준님의 프로필 이미지
정호준

작성한 질문수

질문하기