应用消息队列实现进程间通信

版权声明:私藏源代码是违反人性的罪恶行为!博客转载无需告知,学无止境。 https://blog.csdn.net/qq_41822235/article/details/83267477

 --------参考文献   W.Richard Stevens, Stephen A.Rago.UNIX环境高级编程[M].北京:人民邮电出版社,2014.6:451-454.

一、 消息队列

1.1 定义

消息队列是消息的链接表,存储在内核中,由消息队列标识符标识。

1.2 方案设计

1.3 相关知识

每个队列都有一个msqid_ds结构与其关联:

struct msqid_ds{
    struct ipc_perm     msg_perm;    //权限控制
    msgqnum_t           msg_qnum;    //消息队列消息数目
    msglen_t            msg_qbytes;   //max # of bytes on queue
    pid_t               msg_lspid;    //pid of last msgsnd()上一次发送消息的进程
    pid_t               msg_lrpid;    //pid of last msgcrv()上一次接收消息的进程
    time_t              msg_stime;    //last-msgsnd() time上一次发送消息的进程
    time_t              msg_rtime;    //last-msgrcv() time上一次接收消息的进程
    time_t              msg_ctime;    //last-change time;    //上一次更改时间
}

msgget创建一个新队列或者打开一个现有队列。

猜你喜欢

转载自blog.csdn.net/qq_41822235/article/details/83267477