2010-04-02 107 views
0

你知道我们可以使用带有函数mq_receive()的消息队列;使用信号量实现该功能(您知道,等到共享数据发生更改)的一种好方法是什么?使用Posix信号检测请求

回答

1

的标准方式:

  • 消费者在等候信号灯的生产商表示,有一些准备,为消费者进行消费。
  • 当消费者准备好消费时,产品会发出信号。

如果您有多个消费者和多个生产商,你保证信号有足够的范围,允许多个请求由生产者进行排队,并可以确保消费者知道如何处理可能是几个人活跃立刻。尽管如此,所有这些都是标准的多处理(多线程)理论。

如果您需要所要求的操作的运行下去,那么你需要看的POSIX手册页:

系统V IPC

  • 了semctl()
  • 了semget()
  • 执行semop()

POSIX IPC

  • sem_close()
  • sem_destroy()
  • sem_getvalue()
  • sem_init()
  • sem_open()
  • sem_post()
  • sem_timedwait()
  • sem_trywait()在
  • sem_unlink()
  • sem_wait()