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