2010-04-02 31 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()