采用二个信号量来模拟生产者与消费者,这个想法不是我首先想到的:且看代码
DWORD WINAPI ConsumerProc(LPVOID lpVoid) {
while(TRUE) {
WaitForSingleObject(hEmpty, INFINITE);
Sleep(rand() % 120);
printf("消费了一个产品:%d/n", --buffer);
ReleaseSemaphore(hFull, 1, NULL);
}
return 0;
}