COM을 이용하여 상호통신하는 프로그램을 만들고 있습니다. (아래에서 이야기하는 Master, A, B, C 모두 exe COM입니다.)
(첨부된 그림파일을 보시면 좀 더 이해하기 쉽습니다.)
Master에 해당하는 프로그램에서 Slave에 해당하는 A, B, C를 'CreateInstance'합니다
그리고 Master는 A,B,C 의 interface pointer를 알고 있고
A, B, C는 Master의 interface pointer를 알고 있습니다.
그리고 A, B, C는 나름대로의 작업을 하다가 필요가 생기면 pInterfaceMaster->Func();를 호출하게 됩니다.
이 때, Master의 입장에서는 A, B, C로부터 Func()가 마구 호출되는 셈이죠.
그러나, 예를 들어,
A가 Func()를 호출했으면, Func() 내부의 작업이 완료될 때까지는 B가 Func()내용을 실행해서는 안됩니다.
즉,