Counting semaphores are often used to keep track of changes in the state of objects shared by multiple threads in a process. For instance, they can record the occurrence of a particular event. Unlike condition variables, semaphores maintain state. Therefore, they allow threads to make decisions based upon this state, even if the event has occurred in the past.

 

红色字有两层含义:

1、条件变量和signal_wait配合使用的时候,signal是需要同步的(发信号的时候必须确保有人正在等信号)

2、信号量不需要同步,相当于过去的状态可以保存。

 

全文:

Strategies for Implementing POSIX Condition Variables on Win32

http://www.cs.wustl.edu/~schmidt/win32-cv-1.html