我在主线程中用以下方法创建了一个信号量
ShutDown = CreateSemaphore(NULL, 0, 1, (LPCTSTR)"shutdown");
然后创建一个子线程:
thread = CreateThread( NULL, 0, RetrieveLogRecords, (LPVOID)pLogThreadPara, 0, &threadId);
当然ShutDown作为参数传给了子线程,但是当我在子线程中调用
ReleaseSemaphore( ShutDown, 1, NULL);
编译器告诉我ShutDown句柄无效,请问是为甚么?
先谢了!
ShutDown = CreateSemaphore(NULL, 0, 1, (LPCTSTR)"shutdown");
然后创建一个子线程:
thread = CreateThread( NULL, 0, RetrieveLogRecords, (LPVOID)pLogThreadPara, 0, &threadId);
当然ShutDown作为参数传给了子线程,但是当我在子线程中调用
ReleaseSemaphore( ShutDown, 1, NULL);
编译器告诉我ShutDown句柄无效,请问是为甚么?
先谢了!
2. 你传递的是一个结构变量吧,怎么能直接调用ShutDown变量?
应该是CreateSemaphore(NULL, 1, 2, (LPCTSTR)"shutdown");
最小值应该是大于0的、