0
我已经写了两个通过tcp交流的程序。这两个程序原则上是一样的。 消息在通过tcp发送之前存储在内部缓冲区中。我使用一个互斥锁来保护这个缓冲区,以便同时读/写。 为了测试,我在同一台电脑上运行了这两个程序,并且遇到了一些计时问题。我发现CreateMutex总是返回两个程序的相同句柄,所以一个程序阻塞另一个!CreateMutex在两个不同的程序中,相同的句柄(gcc)
hBufferMutex = CreateMutex(NULL,FALSE,"BufferMutex");
不要紧,我使用的名称互斥体,它总是在这两个程序是相同的。我究竟做错了什么?
而且,当然,用'bInitialOwner == TRUE'来调用它。 – MSalters
如果我将该名称设置为NULL,它没有任何区别。并且'bInitialOwner = TRUE'我的程序在我第一次调用'WaitForSingleObject'时被阻塞。 (也许我应该先发布它?!)。但我已经切换到CriticalSection,它现在正在工作。谢谢! – Sascha