작성
·
183
0
안녕하세요 선생님 !
데드락 강의 내용 중 질문이 있어 글 남깁니다.
[1] 경쟁상태, 교착상태 개념
저는 mutex나 semaphore가 경쟁상태를 예방하기 위해 사용하는 개념으로 알고 있습니다. 그리고 mutex나 semaphore의 사용으로 인해 발생할 수 있는 문제가 교착상태라고 알고 있습니다.
그런데 강의에선 mutex나 semaphore가 경쟁상태나 교착상태를 예방하기 위해 사용된다고 해서잠시 개념의 혼동이 오고 있습니다.
어떻게 mutex나 semaphore가 교착상태의 원인이 아니라 교착상태를 해결할 수 있는 개념인지 설명 부탁드립니다.
[2] 메모리영역 질문
class FakeDataStore:
def __init__(self):
self.value = 0
에서 저는 value는 스택영역에 쌓이고 0 이라는 숫자 객체는 힙영역에 쌓이는 걸로 이해하고 있는데 강의에선 0이라는 객체가 데이터영역에 올라간다고 하셔서 제가 잘못 알고 있는것인지 문의드립니다.
답변 1
-1
안녕하세요. 열심히 하셔서 좋습니다!!
파이썬 메모리 관리 영역에 관한 내용은 아래 링크를 꼼꼼하게 참고 부탁드려요.
파이썬은 Gil이라는 특정한 상황안에서 효율적인 코드를 작성해야 하는 것 같습니다.
강의에서 설명드린 용어를 다시 정의 드리겠습니다.
두 개의 이상의 쓰레드가 동일한 데이터를 공유하는 경우 발생하는 예시(race conditions)
세마포어 : 공유 자원에 여러 프로세스가 접근을 막는 것
뮤텍스(lock) : 공유 자원에 여러 쓰레드가 접근하는 것을 막는 것
과 정의해서 설명드렸는데 혼동이 있으시거나, 변경이 필요한 부분이 있는지 모니터링 한 후
다시 수정 또는 보완하도록 할께요!
감사합니다.