C++多线程 信号量问题, 如下:

2025-04-06 07:07:22
推荐回答(1个)
回答1:

if(NULL == (hSemaphore = OpenSemaphore(SEMAPHORE_MODIFY_STATE , FALSE, strSemaphoreName)))
{
printf("打开信号量对象失败 , 错误ID:%u\n", GetLastError());
return;
}

这几行删掉,你已经在主线程Create一个信号量了,就不需要重复Open了,建议仔细看看msdn。