關於多進程架構的一種思路html
爲何要搞多進程架構?多線程
每個進程都有本身的獨立空間,一個進程崩潰,不會影響其餘的進程。所以多進程架構的程序,它的健壯性大大增強。架構
單進程多線程的程序,常常會遇到由於主線程卡死,而致使整個進程「無反應」的狀況。操作系統
相比使用動態庫 DLL(BPL)的架構有什麼差異?插件
對於動態庫,如下稱之爲「包」。線程
對於使用包組織的程序,稱之爲「插件」架構。htm
對於封裝有複雜對象或3方控件的包,一般會使用「公共包」來封裝全局(公共)的對象和變量。對象
其餘包要使用公共對象,經過引用公共包來進行訪問。blog
此種方式,在程序進行部署的時候,要一同附帶許多的運行時包。對於要帶運行時包這事,許多人是深惡痛絕的。進程
而多進程架構的程序,則沒有這個煩惱(不須要帶運行時包)。
怎麼實現程序的多進程架構?
筆者在此提供一種思路。
可使用WINDOWS操做系統的內存映像文件,使多個進程之間共享全局對象。
固然此種方法一樣也適用於包組織的插件架構在各插件間共享全局對象。
具體實現,詳見:https://www.cnblogs.com/hnxxcxg/archive/2009/10/22/2940750.html