System V消息队列
生活随笔
收集整理的這篇文章主要介紹了
System V消息队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文是對《Unix 網絡編程 卷2:進程通信》第六章的筆記。
引言
System V 消息隊列首部的結構,結構代碼如下:
struct msqid_ds {
struct ipc_perm msg_perm; /* 定義一些用戶操作權限的問題*/
msgqnum_t msg_qnum; /* 當前消息隊列中的消息數量*/
msglen_t msg_qbytes; /* 消息隊列所允許的最大字節數 */
pid_t msg_lspid; /* 最后一個消息的發送者的進程ID*/
pid_t msg_lrpid; /* 最后一個消息取走者的進程ID*/
time_t msg_stime; /* last-msgsnd() time */
time_t msg_rtime; /* last-msgrcv() time */
time_t msg_ctime; /* last-change time */
};
與posix消息隊列的區別
其實,與posix消息隊列的頭部結構拿來比較一下,區別還是一目了然的。由于沒有一些鎖的支撐,最大的疑惑點就是System V消息隊列的互斥性訪問有誰來保證,讀和寫的相互喚醒又有誰來做的呢?
消息傳送機制
定義自己的消息結構
struct mymesg{
long type;
long len;
char msg[MAXLEN];
}
重點是:msgsnd和msgrecv這兩個函數的參數很有意思。
總結
以上是生活随笔為你收集整理的System V消息队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LOL2022HLE战队选手都有谁 HL
- 下一篇: SAP Spartacus的全局配置