Linux高階程式設計基礎 程序間通訊之共享記憶體

2021-08-31 13:58:11 字數 1084 閱讀 5834

建立共享記憶體,寫程序每隔2秒向記憶體寫入一次「hello world」;

如果結束寫操作,則寫程序寫入「end」;

讀程序從共享記憶體讀取資料,並列印。直到讀到「end」為止。

這是寫程序

#include #include #include #include #include #include #include #include #define size 2048

typedef struct xx;

int main()

else

printf ("creat ok,shmid is :%d \n",shmid);

point = (xx*)shmat(shmid,0,0);

char sc[3]="a";

char yes[3] = "y";

int n=1,i=0;

for (n = 1; n >= 1;)

else

sleep (2);

}if((shmdt(point))<0)

else

printf("deleted shared-memory\n");

return 0;

}

這是讀程序
#include #include #include #include #include #include #include #define size 2048

typedef struct xx;

int main()

else

printf ("shmget ok,shmid is :%d \n",shmid);

int i = 0;

if ((point = shmat(shmid,0,0)) == (xx *)-1)

else

}if((shmdt(point))<0)

else

printf("deleted shared-memory\n");

return 0;

}

Linux程序間通訊程式設計

3.訊息佇列 訊息佇列就是乙個訊息的鍊錶.可以把訊息看作乙個記錄,具有特定的格式 程序可以向中按照一定的規則新增新訊息 另一些程序則可以從訊息佇列中讀走訊息 優點 比訊號傳送的資訊量多 能傳送有格式的位元組流 目前主要有兩種型別的訊息佇列 1.系統 v訊息佇列是隨核心持續的,只有在核心重起或者人工刪...

高階程式設計之程序間通訊(三)

程序間通訊 三 ipc 通訊之 訊號量集 訊號燈 執行緒中用的是 posix無名訊號量 程序中用的是 system v 的訊號燈 框架 key 申請訊號量 pv操作 關閉訊號量 semget semop semctl include 原型 int semget key t key,int nsems...

MFC sendmessage實現程序間通訊

用sendmessage實現程序間通訊。實現方式是傳送wm copydata訊息。傳送程式 lresult copydataresult cwnd potherwnd cwnd findwindow null,卡口管理 cstring strdatatosend 0dae12a3d8c9425daa...