POSIX systemV共享記憶體的區別

2022-05-23 04:45:08 字數 434 閱讀 9373

poisx共享記憶體分為兩種方式:

1、記憶體對映檔案

特點:共享記憶體的改變能在檔案中體現;

2、共享記憶體區物件

特點:共享記憶體的改變在檔案上看不出來(實際上根本打不開該檔案);

以上兩者都是基於mmap函式實現的。

先看mmap函式的作用:

mmap函式主要的功能就是將檔案或裝置對映到呼叫程序的位址空間中,當使用mmap對映檔案到程序後,就可以直接操作這段虛擬位址進行檔案的讀寫等操作,不必再呼叫read,write等系統呼叫。在很大程度上提高了系統的效率和**的簡潔性。

使用mmap函式的主要目的是:

mmap成功後,可以關閉fd,一般也是這麼做的,這對該記憶體對映沒有任何影響。

system v共享記憶體的實現要比poisx早且更完善,更易用,但其缺點是:記憶體大小在建立時確定,之後不能改變(poisx可以)。

CreateFileMapping 共享記憶體

handle hfile,dword flprotect,dword dwmaximumsizehigh,dword dwmaximumsizelow,lpctstr lpname hfile 共享檔案控制代碼,不建立共享檔案,為invalid handle value flprotect 保護選項...

執行緒範圍內共享資料

我們可以先用所學知識來寫乙個 public class threadscopesharedata start static class a static class b 如果光像上面這樣寫的話,那毫無疑問,肯定是有問題的,如下圖所示並沒有實現執行緒共享 此時就實現執行緒內共享資料了 public c...

RHCE 建立系統內共享目錄

建立乙個共享目錄 home admins 特性如下 home admins目錄的組所有權是adminuseradminuser組的成員對目錄有讀寫和執行的許可權。除此之外的其他所有使用者沒有任何許可權 root使用者能夠訪問系統中的所有檔案和目錄 在 home admins目錄中建立的檔案,其組所有...