freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux環(huán)境進程間通信(三):消息隊列(編輯修改稿)

2025-02-04 07:54 本頁面
 

【文章內(nèi)容簡介】 e(amp。()))。 printf(msg uid is %d\n,)。 printf(msg gid is %d\n,)。 } 程序輸出結(jié)果見 附錄 3。 小結(jié): 消息隊列與管道以及有名管道相 比,具有更大的靈活性,首先,它提供有格式字節(jié)流,有利于減少開發(fā)人員的工作量;其次,消息具有類型,在實際應(yīng)用中,可作為優(yōu)先級使用。這兩點是管道以及有名管道所不能比的。同樣,消息隊列可以在幾個進程間復(fù)用,而不管這幾個進程是否具有親緣關(guān)系,這一點與有名管道很相似;但消息隊列是隨內(nèi)核持續(xù)的,與有名管道(隨進程持續(xù))相比,生命力更強,應(yīng)用空間更大。 附錄 1: 在參考文獻 [1]中,給出了 IPC隨進程持續(xù)、隨內(nèi)核持續(xù)以及隨文件系統(tǒng)持續(xù)的定義: 1. 隨進程持續(xù): IPC一直存在到打開 IPC對象的最后一個進程關(guān)閉該對象為止。如管道 和有名管道; 2. 隨內(nèi)核持續(xù): IPC一直持續(xù)到內(nèi)核重新自舉或者顯示刪除該對象為止。如消息隊列、信號燈以及共享內(nèi)存等; 3. 隨文件系統(tǒng)持續(xù): IPC一直持續(xù)到顯示刪除該對象為止。 附錄 2: 結(jié)構(gòu) msg_queue用來描述消息隊列頭,存在于系統(tǒng)空間: struct msg_queue { struct kern_ipc_perm q_perm。 time_t q_stime。 /* last msgsnd time */ time_t q_rtime。 /* last msgrcv time */ time_t q_ctime。 /* last change time */ unsigned long q_cbytes。 /* current number of bytes on queue */ unsigned long q_qnum。 /* number of messages in queue */ unsigned long q_qbytes。 /* max number of bytes on queue */ pid_t q_lspid。 /* pid of last msgsnd */ pid_t q_lrpid。 /* last receive pid */ struct list_head q_messages。 struct list_head q_receivers。 struct list_head q_senders。 }。 結(jié)構(gòu) msqid_ds用來設(shè)置或返回消息隊列的信息,存在于用戶空間; struct msqid_ds { struct ipc_perm msg_perm。 struct msg *msg_first。 /* first message on queue,unused */ struct msg *msg_last。 /* last message in queue,unused */ __kernel_time_t msg_stime。 /* last msgsnd time */ __kernel_time_t msg_rtime。 /* last msgrcv time */ __kernel_time_t msg_ctime。 /* last change time */ unsigned long msg_lcbytes。 /* Reuse junk fields for 32 bit */ unsigned long msg_lqbytes。 /* ditto */ unsigned short msg_cbytes。 /* current number of bytes on queue */ unsigned short msg_qnum。 /* number of messages in queue */ unsigned short msg_qbytes。 /* max number of bytes on queue */ __kernel_ipc_pid_t msg_lspid。 /* pid of last msgsnd */ __kernel_ipc_pid_t msg_lrpid。 /* last receive pid */ }。 //可以看出上述兩個結(jié)構(gòu)很相似。 附錄 3: 消息隊列實例輸出結(jié)果: current number of bytes on queue is 0 number of messages in queue is 0 max number of bytes on queue is 16384 pid of last msgsnd is 0 pid of last msgrcv is 0 last msgsnd time is Thu Jan 1 08:00:00 1970 last msgrcv time is Thu Jan 1 08:00:00 1970 last change time is Sun Dec 29 18:28:20 2022 msg uid is 0 msg gid is 0 //上面剛剛創(chuàng)建一個新消息隊列時的輸出 current number of bytes on queue is 1 number of messages in queue is 1 max number of bytes on queue is 16384 pid of last msgsnd is 2510 pid of last msgrcv is 0 last msgsnd time is Sun Dec 29 18:28:21 2022 last msgrcv time is Thu Jan 1 08:00:00 1970 last change time is Sun Dec 29 18:28:20 2022 msg uid is 0 msg gid is 0 read from msg queue 1 bytes //實際讀出的字節(jié)數(shù) current number of bytes on queue is 0 number of messages in queue is 0 max number of bytes on queue is 16384 //每個消息隊列最大容量(字節(jié)數(shù)) pid of last msgsnd is 2510 pid of last msgrcv is 2510 last msgsnd time is Sun Dec 29 18:28:21 2022 last msgrcv time is Sun Dec 29 18:28:22 2022 last change time is Sun Dec 29 18:28:20 2022 msg uid is 0 msg gid is 0 current number of bytes on queue is 0 number of messages in queue is 0 max number of bytes on queue is 16388 //可看出超級用戶可修改消息隊列最大容量 pid of last msgsnd is 2510 pid of last msgrcv is 2510 //對操作消息隊列進程的跟蹤 last msgsnd time is Sun Dec 29 18:28:21 2022 last msgrcv time is Sun Dec 29 18:28:22 2022 last change time is Sun Dec 29 18:28:23 2022 //msgctl()調(diào)用對 msg_ctime有影響 msg uid is 8 msg gid is 8 參考文獻: ? UNIX網(wǎng)絡(luò)編程第二卷 :進程間通信,作者: Stevens,譯者:楊繼張,清華大學(xué)出版社。對 POSIX以及系統(tǒng) V消息隊列都有闡述,對 Linux 環(huán)境下的程序開發(fā)有極大的啟發(fā)意義。 ? linux內(nèi)核源代碼情景分析(上),毛德操、胡希明著,浙江大學(xué)出版社,給出了系統(tǒng) V消息隊列相關(guān)的源代碼分析。 ? linux下對文件的操作,詳細(xì)介紹了對文件的存取權(quán)限位,對 IPC 對象的存取權(quán)限同樣具有很好的借鑒意義。 ? msgget、 msgsnd、 msgrcv、 msgctl手冊 g an employment tribunal claim Employment tribunals sort out disagreements between employers and employees. You may need to make a claim to an employment tribunal if: ? you don39。t agree with the discip
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1