inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

그림으로 쉽게 배우는 운영체제

모니터

모니터 synchronized 설명 질문

해결된 질문

198

박호정

작성한 질문수 43

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

프로세스 A가 synchronized 키워드가 붙은 increase를 호출하여 실행 중일 때 프로세스 B가 synchronized 키워드가 붙은 decrease도 실행하지 못한다고 설명해주셨는데요.


그 이유가 increase함수에 synchronized 키워드가 붙어있어 상호배제 매커니즘이 동작하는데, decrease 함수에서 접근하는 변수 중 increase에서 사용하는 health가 있기 때문에, 공유자원에 동시에 접근하는 것을 막기 위한 메커니즘일까요?

아니면, 프로세스 A가 synchronized 키워드가 붙은 increase가 실행되고 있다면 다른 synchronized 키워드가 붙은 함수는 decrease 혹은 다른 클래스의 synchronized 함수 등 어떤 것도 실행하지 못한다는 의미일까요?

운영체제

답변 1

1

감자

안녕하세요 박호정님!

모니터에 대해 궁금하신 점이 있으시군요.

 

synchronized 키워드는 해당 객체에 여러 스레드가 동시에 접근하는 걸 방지해줍니다.

synchronized가 붙은 함수를 실행하면(ex: increase) 해당 객체의 synchronized가 붙은 다른 함수(ex: decrease)는 동시에 객체에 접근하지 못합니다.

예제에선 공유자원인 health에 동시에 접근하지 못하도록 해당 변수를 사용하는 두 개의 함수에 synchronized 키워드를 달아줬습니다.

궁금증이 해결되셨나요?😀

0

박호정

여러 쓰레드가 동일한 객체에 접근할 경우이군요! 이해되었습니다~ 감사합니다!

여러 의문점

1

63

1

CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.

1

57

2

CPU Bound Process와 sleep, yield에 대해

1

60

1

커널과 인터페이스 개념

1

64

2

exit() 함수

0

154

2

LRU 관련 질문

1

182

2

고정 분할 방식도 연속 할당으로 알고 있는데 애니메이션이 다소 헷갈립니다.

0

115

2

Swapping, Manual Overlay, Dynamic Loading, Dynamic Linking의 개념이 헷갈립니다

0

147

2

각 메모리의 최대 요구 CPU 리소스는 어떻게 아나요?

1

167

2

PCB들이 연결리스트로 저장되는 이유가 뭔가요?

1

127

2

IPC 방식 중 매개체가 파일과 메모리일 때 할당되는 용량의 차이

0

117

2

고정 분할 방식에 질문입니다

0

120

2

세마포어에 관련해 질문입니다

1

144

2

IPC 통신 중 파일을 이용한 방법이 정확히 어떤 건가요?

0

152

1

공유자원과 동기화 문제에 관해서 질문이 있습니다.

0

153

2

FIFO 알고리즘에 대해서 질문이 있습니다.

1

128

2

멀티프로그래밍, 멀티 태스킹, 멀티 프로세싱

1

163

1

새로 올라온 영상에서 스와핑 언급이 빠졌는데

1

81

2

유니프로그래밍과 멀티프로세싱이 어떻게 공존할 수 있는 건가요?

3

173

2

인터럽트에 대해 질문 드립니다.

1

93

2

수업 노트 설명에 대해 이해가 안가는 부분이 있어 질문 드립니다.

0

115

2

3:59초에 대해서 궁금해요!

0

118

2

실무적으로 궁금한게 있습니다ㅠ

0

96

1

완강을 해보니 오히려 더 궁금한게 많아지네요

1

167

2