zoukankan      html  css  js  c++  java
  • 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这两个函数的参数很有意思。

  • 相关阅读:
    LeetCode 25 Reverse Nodes in k-Group
    圆桌派:家世背景对人的影响有多大
    BibTex 学习笔记
    R parallel包实现多线程1
    IIS学习笔记
    高效完成R代码
    圆桌派 :我们,朋友一生一起走
    高文欣个人简介
    R语言函数话学习笔记5
    git学习笔记1
  • 原文地址:https://www.cnblogs.com/sylz/p/6028228.html
Copyright © 2011-2022 走看看