Semaphore是另一个同步问题机制,不论是Event或Mutex,其他Process在执WaitForSingleObject
时,就看当时的物件是Signal或UnSignal而决定是否等待,而Semaphore也相同,但是它
要变成Signal /UnSignal的状态,却有些不同,它是提供一个计数值,它允许在这个计数
值之内,任何执行到WaitForSingleObject的Thread都不会停下来,而且每执行
WaitForSingleObject一次,计数值就减一,当计数值变成0时,该Semaphore才会处於
UnSignal的状态,而某个Thread ReleaseSemaphore时,便会将计数值增加,以便其他的
Thread或本身可得Signal的讯号,而使WaitForSingleObject停止等待。
时,就看当时的物件是Signal或UnSignal而决定是否等待,而Semaphore也相同,但是它
要变成Signal /UnSignal的状态,却有些不同,它是提供一个计数值,它允许在这个计数
值之内,任何执行到WaitForSingleObject的Thread都不会停下来,而且每执行
WaitForSingleObject一次,计数值就减一,当计数值变成0时,该Semaphore才会处於
UnSignal的状态,而某个Thread ReleaseSemaphore时,便会将计数值增加,以便其他的
Thread或本身可得Signal的讯号,而使WaitForSingleObject停止等待。

953

被折叠的 条评论
为什么被折叠?



