日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

210127阶段三进程间通信-消息队列

發布時間:2024/4/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 210127阶段三进程间通信-消息队列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一、學習的知識點
    • 1 回顧
      • 1.1
      • 1.2
    • 2 進程間通信
      • 2.1進程間通信的目的
      • 2.2 進程間通信
        • 2.2.1 消息隊列
  • 二、上課沒有聽懂或者沒有理解的地方
  • 三、當天學習的收獲

一、學習的知識點

1 回顧

1.1

三階段學:

  • 系統編程 包括 進程、IPC(進程間通信,如信號、管道、消息隊列、共享內存、信號量)
  • 網絡編程 包括 socket:TCP/IP,
  • 線程:多線程、線程池
  • OpenCV
  • 1.2

    Linux 一切皆文件,通過文件描述符對文件讀寫。 是操作系統操作文件或設備的指針
    虛擬機 橋接模式可以聯網 NAT模式有虛擬網卡,只能用于同一個環境之間的通信

    2 進程間通信

    2.1進程間通信的目的

  • 數據傳輸
  • 共享數據
  • 通知事件 一般用信號
  • 資源共享 多個進程共享同樣的資源, 需要內核提供鎖和同步機制
  • 進程控制
  • 2.2 進程間通信

  • 早期UNIX進程間通信、基于System X進程間通信、基于Socket進程間通信、POSIX進程間通信
  • UNIX進程間通信方式包括:管道、FIFO、信號
  • System V進程間通信方式包括System V消息隊列、System V信號燈、System V共享內存
  • POSIX進程間通信方式包括posix消息隊列、posix信號燈、posix共享內存
  • 2.2.1 消息隊列

    消息隊列是消息的鏈表

  • 每一個消息隊列都有一個id,內核可以有兩個三個消息隊列,消息隊列存在內核中
  • 內核:一片內存
  • 命令 ipcs 查看進程通信
  • 消息可以接收指定類型的消息,如10號消息
  • 傳送消息的結構體,格式固定 字符數組長度有最大限制
    struct msg_buf {
    long mtype;
    char mtext[1];
    };
    typedef struct msg_buf MSG_T;

    創建或打開消息隊列 key_t 是消息隊列的KEY值 IPC_EXCL 檢測是否存在 存在則打開失敗 不存在則創建成功
    int msgget(key_t key,int msgflg); 作用 用來創建和訪問一個消息隊列

    發送消息 參數1 消息隊列的id 參數2 結構體指針 參數3 大小 參數4 先為0
    //msgsnd(msgid, &msg, sizeof(struct msgbuf), 0);

    接收消息
    msgrcv(msgid, &msg, sizeof(struct msgbuf), 10, 0);

    二、上課沒有聽懂或者沒有理解的地方

    三、當天學習的收獲

    多學了一種IPC的方法

    總結

    以上是生活随笔為你收集整理的210127阶段三进程间通信-消息队列的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。