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

유준모님의 프로필 이미지
유준모

작성한 질문수

고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)

경쟁상태,교착상태, 메모리영역

작성

·

182

0

안녕하세요 선생님 !

데드락 강의 내용 중 질문이 있어 글 남깁니다.

[1] 경쟁상태, 교착상태 개념

저는 mutex나 semaphore가 경쟁상태를 예방하기 위해 사용하는 개념으로 알고 있습니다. 그리고 mutex나 semaphore의 사용으로 인해 발생할 수 있는 문제가 교착상태라고 알고 있습니다.

그런데 강의에선 mutex나 semaphore가 경쟁상태나 교착상태를 예방하기 위해 사용된다고 해서잠시 개념의 혼동이 오고 있습니다.

어떻게 mutex나 semaphore가 교착상태의 원인이 아니라 교착상태를 해결할 수 있는 개념인지 설명 부탁드립니다.

[2] 메모리영역 질문

class FakeDataStore:

def __init__(self):

self.value = 0

에서 저는 value는 스택영역에 쌓이고 0 이라는 숫자 객체는 힙영역에 쌓이는 걸로 이해하고 있는데 강의에선 0이라는 객체가 데이터영역에 올라간다고 하셔서 제가 잘못 알고 있는것인지 문의드립니다.

 

답변 1

-1

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요. 열심히 하셔서 좋습니다!!

파이썬 메모리 관리 영역에 관한 내용은 아래 링크를 꼼꼼하게 참고 부탁드려요.

https://dev-jy.tistory.com/18

파이썬은 Gil이라는 특정한 상황안에서 효율적인 코드를 작성해야 하는 것 같습니다.

강의에서 설명드린 용어를 다시 정의 드리겠습니다.

두 개의 이상의 쓰레드가 동일한 데이터를 공유하는 경우 발생하는 예시(race conditions)

세마포어 : 공유 자원에 여러 프로세스가 접근을 막는 것

뮤텍스(lock) : 공유 자원에 여러 쓰레드가 접근하는 것을 막는 것

과 정의해서 설명드렸는데 혼동이 있으시거나, 변경이 필요한 부분이 있는지 모니터링 한 후

다시 수정 또는 보완하도록 할께요!

감사합니다.

 

 

유준모님의 프로필 이미지
유준모

작성한 질문수

질문하기