在一個進程中有幾個進程和一些線程。所有的流程都需要相互交流。一個進程中的線程需要與進程交互(主線程)。我想知道如果這個設計作品:請註釋,如果這適用於進程和線程之間的通信
每一道工序都有MSG隊列(使用msgget()的msgsnd,msgrcv()),以便它們可以被Linux API互相交談。
每個線程都有一個msg隊列(也使用msgget,msgsnd,msgrcv),以便它可以與主線程和其他線程交談。所以,這個線程駐留的進程將擁有進程隊列和線程隊列,是否有任何問題?
我很擔心項目2,因爲我學到的是msgget,msgsnd,msgrcv用於進程間通信。我閱讀有關這些功能的手冊。看起來沒有提及這些功能是否支持線程。另外,請你參考一下最好的在線Linux/Unix手冊嗎?我不擅長它,因爲我覺得很難找到我想要的東西,如果函數或信號量可以支持線程/手動。愚蠢的問題, :)。
請幫助。謝謝。
感謝您的快速響應。我很擔心操作系統如何一次識別哪個進程/線程擁有此隊列ID,因爲此消息隊列函數總是在IPC部分提及。也許我正在過度看待它。 :) 再次感謝。 – 2012-03-09 03:22:08