강사님 프로세스의 IPC에서 굳이 MUTEX 가 필요할까 하는 생각이 듭니다.
370
投稿した質問数 70
강사님이 주신 예제의 뮤텍스를 보면 읽기/쓰기 동작에서는 쓰기가 먼저 일어나고 읽기가 일어나야 하기 때문에 이를 위해서는 뮤텍스 단독으로는 이러한 처리가 불가능하다고 보여지며 반드시 이벤트와 결합되어야 이러한 동작이 가능할 거 같이 보여집니다. 아울러 이벤트를 써서 구현하면 굳이 뮤텍스는 필요 없을 거 같다는 생각이 드는데 강사님 의견 부탁드립니다.
回答 4
1
추가로...
뮤텍스가 없을 경우 IPC 상황에서 여러 프로세스가 동시에 한 메모리에 쓰기를 시도할 경우 데이터가 손상되는 일이 발생할 수 있습니다. 참고하시기 바랍니다. 😄
1
프로세스 A, B와 각각의 프로세스에서 Thread를 여러개를 생성하는 프로그램입니다. 공통사용을 위해서 전역으로 메모리맵을 가지고 있고 이 맵을 프로세스 A, B가 공유해서 읽고, 쓰기를 합니다.
여기서 뮤텍스는 프로세스 A,B가 접근하는 것을 동기화로 사용하고 각각의 쓰레드는 크리티컬섹션으로 보호하려고 되어 있습니다. 그래서 뮤텍스 안에 크리티컬섹션이 들어가 있는데요.
질문1) 뮤텍스만으로 크리티컬섹션의 메모리맵 접근하는 것이 보호되기 때문에 크리티컬섹션은 제거 해도 되는지 문의드립니다.
질문2) 뮤텍스 안에 크리티컬섹션이 있는 경우 이슈가 있을까요?
0
네, 그렇게 하는 것이 좋겠습니다. 그리고 저라면 공유 메모리에 데이터를 쓰는 스레드는 가급적 하나로 제한할 것 같습니다. 만일 쓰기 요청이 여러 스레드에서 동시에 일어날 가능성이 있다면 그런 요청을 큐로 관리해 처리하겠습니다.
동기화 과정에서 논리 오류에 따른 데드락이 발생할 가능성이 더 올라갈 수 있겠습니다.
1
쓰기와 읽기가 동시에 일어나는 상황이나 여러 프로세스가 동시에 쓰기를 해야 하는 상황 등 경쟁상황이 프로세스 수준에서 발생한다면 동기화는 필수 입니다. 이벤트를 이용하는 것은 읽기 혹은 쓰기가 완료됨을 알리는 용도 일뿐 진입 자체를 통제하지는 못합니다. 참고하시기 바랍니다.
-1
안녕하세요, 인프런 AI 인턴입니다.
제공된 정보에는 Windows 시스템 프로그래밍과 관련된 내용이 포함되어 있지 않습니다.
따라서, 질문에 대한 구체적인 답변을 드릴 수 없음을 양해 부탁드립니다.
원하는 답변을 찾지 못하셨다면, 해당 강의의 강사님에게 직접 문의하시거나 관련 커뮤니티 또는 포럼에서 도움을 구하는 것을 추천드립니다.
감사합니다.
세마포어 개수에 따른 스레드 점유상태
0
61
2
메모리 맵과 비동기 입/출력 조합 #2 수업내용에 질문있습니다.
0
94
2
힙 메모리 블럭 관리 방법 질문
0
97
2
MapViewOfFile 원리 관련 질문있습니다
0
102
1
가상 메모리 시스템 영역 구분
0
95
2
스택 크기 결정 단계
0
75
2
시스템프로그래밍-응용편
0
130
2
바이트와 관련된 유튜브 영상을 못 찾겠어요ㅠㅠ
0
94
2
파일 복사에 관한 질문입니다
0
113
2
세마포어 예제에 대한 질문이 있습니다.
0
108
2
메모장 쓰레기값 ?
0
131
2
64 bit 운영체제라면 가상메모리가
0
180
2
alertable Wait 상태 질문있습니다
0
226
1
GetCurrentDirectory 관련 질문
0
169
2
세마포어 예제중 형변환에 대한 질문
0
162
2
강사님 dll 지연로딩 관련하여 질문 드립니다
0
205
3
선장님 , _beginThreadEx() 함수 원리는 어디서 정보를 얻을 수 있을까요?
0
285
2
메모리 맵 강의 예제의 결과가 이상합니다.
0
227
1
강사님 파일입출력(Callback함수)와 관련하여 질문 드립니다.
0
348
2
dll 명시적 링크 오류 (원인 및 해결 방법이 필요 합니다)
0
962
2
static 영역의 rw 가능한 곳은 어떤 데이터가 담기는지 궁금합니다.
0
221
1
TerminanteProcess 와 관련하여 질문 드립니다.
0
170
1
강사님 스레드 관련 질문 드립니다.
0
224
1
강사님 메뉴얼 중 이것도 궁금해서 여쭤봅니다.
0
208
2

