信号量机制可用来解决互斥与同步的问题。
整型信号量
只有一个整型量S,表示资源数目。wait操作中只有 s <= 0,会不断地测试,机制并未遵循“让权等待”和“忙等”。
记录型信号量
结构体里除了一个 代表资源数目的Value值,再增加一个 进程链表L,用于表示等待该资源的进程。
wait操作中,如果 s <= 0,就会将进程加入 链表中,并且对进程进程进行自我阻塞,放弃处理机,符合“让权等待”。
signal操作时,释放一个资源,并且如果 value <= 0,使链表中的进程唤醒。