为了两个进程可以同步进行 至少需要哪两个信号量

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:53:01
如题
wait 和 signal 操作算是信号量吗?
比如生产者消费者问题中,有full 和empty 两个信号量和互斥信号量。有操作wait(empty)\signal(full),wait\signal和empty\full的位子明显不一样啊,我觉得PV操作不算是信号量吧~~能确定一下吗?

wait和signal是原子操作,不是信号量,但它们操作的对象是信号量。

wait和signal对应于传统的P和V操作。P操作请求一个信号量,对信号量做减一操作;V操作释放一个信号量,对信号量做加一操作。

你指的生产者消费者问题中,full和empty是把信号量作为“信号”使用的。当wait(full)返回后,意味着缓冲池中被填充了一个产品,这时候消费者可以取走一个产品。实际上我觉得这里用"filled"代替"full",可读性会更好。
为了同步两个进程,至少需要2个信号量。

P和V