程序間通訊 共享記憶體

2021-05-22 14:48:40 字數 458 閱讀 9145

下面是自己寫的乙個簡單的共享記憶體的程序間通訊的例子。。

共享記憶體是用於程序間大量資料共享的一種方法。

#include

#include

#include

#include

#include

#include

int main()

if((buf1 = shmat(shmid,0,0)) == (void *) -1)

strcpy(buf1,str);

printf("shared memory attached form %lx to %lx/n",(unsigned long)buf1,(unsigned long)buf1+1024);

printf("%s/n",buf1);

if(shmctl(shmid,ipc_rmid,null) == -1)

return 0;

}

程序間通訊 共享記憶體

共享記憶體是被多個程序共享的一部分物理記憶體。共享記憶體是程序間共享資料的一種最快的方式,乙個程序向共享記憶體區域寫入資料,共享這個記憶體區域的所有程序就可以立刻看到其中的內容。共享記憶體實現分兩個步驟 建立共享記憶體,使用shmget函式 對映共享記憶體,使用shmat函式 共享記憶體是一種最為高...

程序間通訊 共享記憶體

共享記憶體允許兩個或更多程序共享一塊給定的儲存區,因為資料不需要在不同程序之間訪問,這是最快的一種ipc 傳輸資訊量很大,通過記憶體空間對映程序空間實現,若伺服器程序正在將資料放入共享儲存區,則在它做完這一操作之前,客戶程序不應取這些資料,通常訊號量用來實現對共享儲存訪問的同步。核心為每個共享儲存段...

共享記憶體 程序間通訊

讀程序 include include include include include include include include shm com.h int main void 對映共享記憶體 shared memory shmat shmid,void 0,0 if shared memor...