IPC三種通訊方式詳解

2021-07-25 03:07:48 字數 865 閱讀 9633

ipc物件:訊息佇列、共享記憶體、訊號燈

ipcs命令:用來檢視ipc物件–m共享記憶體  -q訊息佇列  -s訊號燈

ipcrm命令:–m共享記憶體  -q訊息佇列  -s訊號燈  id :刪除某個ipc物件

都要依靠key來建立,通過ftok獲得乙個key

ftok(路徑,(1-255));建立乙個key。

訊息佇列:訊息的鍊錶。

msgget(key,建立/開啟方式):建立訊息佇列/獲得訊息佇列id。

第二個引數:ipc_creat|0666   ipc_excl,也可以為0.

msgsnd(訊息佇列id,訊息結構體,訊息正文大小,0):傳送訊息

訊息結構體struct ***

msgrcv(訊息佇列id,訊息結構體,訊息正文大小,想接受的訊息型別,0(阻塞)/ipc_nowait(非阻塞)):接受訊息。

msgctl(訊息佇列id,ipc_rmid,null):刪除訊息佇列

shmget(key,共享記憶體的大小,方式)。建立共享記憶體/獲得id。

shmat(共享記憶體id,null(系統指定對映位址),0(可以讀寫));需要乙個指標來指向對映位址,。

shmdt(位址);取消對映

shmctl(id,ipc_rmid,null)。刪除共享記憶體。

訊號燈:也叫訊號量,進行程序間共享資源的保護,程序間的控制。

semget(key,訊號燈數量,同上);建立訊號燈/獲得訊號燈id

semop(id,sembuf,操作的訊號量個數);

structsembuf

semctl(id,訊號量編號,控制,unionsemun某個成員);

控制:setval:設定訊號燈的初始值。

ipc_rmid刪除

Flex三種通訊方式

flex三種通訊方式 flex程式與伺服器端程式進行資料互動,有三種通訊方式 表1 1 通訊方式 通訊協議 互動資料格式 常用的http協議 xmlwebservice soap協議 xmlremoteobject flex 自定義的高效二進位制 資料通訊協議 amf 任意 可以是數字,字串,物件,...

三種快取方式的詳解

1.檔案快取 一般情況下我們都將資料先快取在檔案當中,當需要的時候直接從檔案中讀取。則可以減少資料庫查詢的壓力。class fileelseelseelse echo fail redis的安裝和使用 1.安裝redis yum y install redis 2.安裝php redis擴充套件 y...

Selenium 三種等待方式詳解

我們在做web自動化時,一般要等待頁面元素載入完成後,才能執行操作,否則會報找不到元素的錯誤,這樣就要求我們在有些場景下加等待時間。我們平常用到的有三種等待方式 利用time模組的sleep方法來實現,最簡單粗暴的等待方法 coding utf 8 from time import sleep fr...