您知道我们可以通过函数 mq_receive() 使用消息队列;用信号量实现该功能(你知道,等到共享数据更改)的好方法是什么?
问问题
177 次
1 回答
1
标准方式:
- 消费者在信号量上等待生产者指示有什么东西可供消费者消费。
- 当有东西可供消费者消费时,产品会发出信号量。
如果您有多个消费者和多个生产者,请确保信号量有足够的范围以允许生产者将多个请求排队,并确保消费者知道如何处理可能同时处于活动状态的多个请求。不过,所有这些都是标准的多处理(多线程)理论。
如果您需要了解所需的操作,那么您需要查看POSIX手册页:
系统 V IPC
- semctl()
- semget()
- semop()
POSIX工控机
- sem_close()
- sem_destroy()
- sem_getvalue()
- sem_init()
- sem_open()
- sem_post()
- sem_timedwait()
- sem_trywait()
- sem_unlink()
- sem_wait()
于 2010-04-02T18:45:40.400 回答