我正在編寫一個服務器,它在fork()接受套接字連接時關閉子進程。 當孩子與客戶進行通信時,它必須將某些信息發回父母。我正在使用管道來完成此操作。 問題是,當我嘗試做父母子女IPC時,父母在從孩子讀取輸入時阻止。這意味着,即使孩子們同時在運行,他們也只能一次性處理,因爲他們都在等待父母。 我的代碼看起來像這樣(錯誤檢查簡潔,刪除): /* loop: wait for clients to con
我需要在進程之間共享一堆字符串(將來可能會有更復雜的對象)。我決定使用boost :: interprocess,但我無法讓它工作。我確信這是因爲我不理解某些東西。我遵循他們的例子,但如果有人使用該庫的經驗可以看看我的代碼並告訴我什麼是錯誤的,我將非常感激。問題似乎有效,但經過幾次迭代後,我在讀取器進程和寫入器進程上都會遇到各種異常。下面是我實現的一個簡化版本: using namespace b
我在編程一個進程間通信模塊(進程A和進程B)。 只要進程A完成特定動作,B中的通信線程是否可以運行(解鎖),我的意思是沒有B做任何輪詢,也沒有B在完成其動作後等待太多? 哪些是管理這些問題的概念/模型/設計模式? (比進程間同步更精確)。你推薦哪些圖書館/方法? 謝謝。 編輯:我正在尋找適用於三種主要操作系統中的每一種的方法:Ms Windows,Apple Mac OS X,GNU/Linux。