在我的應用程序中,我有一個分叉子進程,說child1,並且這個子進程在磁盤上寫入一個巨大的二進制文件並退出。然後,父進程分離出另一個子進程child2,該進程讀入這個大文件以進行進一步處理。在Linux上的進程間共享數據
該文件轉儲和重新加載正在使我的應用程序變得緩慢,我正在考慮可能的完全避免磁盤I/O的方法 。我已經確定的可能的方法是ram-disk或tmpfs。 我可以以某種方式在我的應用程序中實現ram-disk或tmpfs嗎?或者有沒有其他的方式可以完全避免磁盤I/O,並且可靠地跨進程發送數據。
只是爲了將更多的東西放在正確的角度看,父進程實際上分出了3-4個子進程寫入磁盤,然後這些文件被後續的子進程讀入。所有這些子進程不會同時存在,並在將數據寫入磁盤後退出。 – user900563
由於涉及到很多流程,我認爲設置管道可能會變得過於複雜和脆弱。相反,如果我可以構建一個封裝的API來模擬磁盤以滿足我需要的幾件事,那就太酷了! – user900563
爲什麼分叉?使用線程並將該文件保存在內存中。 – Matt