当前位置: 首页 > news >正文

时光慢网站建设方案论文大门户wordpress主题下载

时光慢网站建设方案论文,大门户wordpress主题下载,网络管理是做什么的,企业主页制作方法C进程间通信 消息队列 消息队列概述消息队列代码示例1. 创建和发送消息的程序(sender.cpp)2. 接收消息的程序(receiver.cpp) 代码解释运行步骤运行结果 消息队列概述 消息队列是一种进程间通信机制,允许一个或多个进程…

C++进程间通信 消息队列

    • 消息队列概述
    • 消息队列代码示例
      • 1. 创建和发送消息的程序(sender.cpp)
      • 2. 接收消息的程序(receiver.cpp)
    • 代码解释
    • 运行步骤
    • 运行结果

消息队列概述

消息队列是一种进程间通信机制,允许一个或多个进程通过消息的形式进行通信。消息队列可以在内核中维护,提供了一个先进先出的队列,支持消息的优先级排序。

消息队列代码示例

1. 创建和发送消息的程序(sender.cpp)

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <iostream>
#include <cstring>
#include <cstdlib>#define MSGQ_KEY 1234
#define MSG_SIZE 128struct message 
{long msg_type;char msg_text[MSG_SIZE];
};int main() 
{int msgid = msgget(MSGQ_KEY, 0666 | IPC_CREAT);  // 创建消息队列if (msgid == -1) {perror("msgget");exit(EXIT_FAILURE);}message msg;msg.msg_type = 1;  // 消息类型strcpy(msg.msg_text, "Hello from sender process!");  // 消息内容if (msgsnd(msgid, &msg, sizeof(msg.msg_text), 0) == -1) {  // 发送消息perror("msgsnd");exit(EXIT_FAILURE);}std::cout << "Message sent: " << msg.msg_text << std::endl;return 0;
}

2. 接收消息的程序(receiver.cpp)

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <iostream>
#include <cstring>
#include <cstdlib>#define MSGQ_KEY 1234
#define MSG_SIZE 128struct message 
{long msg_type;char msg_text[MSG_SIZE];
};int main() 
{int msgid = msgget(MSGQ_KEY, 0666 | IPC_CREAT);  // 获取消息队列if (msgid == -1) {perror("msgget");exit(EXIT_FAILURE);}message msg;if (msgrcv(msgid, &msg, sizeof(msg.msg_text), 1, 0) == -1) {  // 接收消息perror("msgrcv");exit(EXIT_FAILURE);}std::cout << "Message received: " << msg.msg_text << std::endl;if (msgctl(msgid, IPC_RMID, nullptr) == -1) {  // 删除消息队列perror("msgctl");exit(EXIT_FAILURE);}return 0;
}

代码解释

  1. 创建和发送消息的程序(sender.cpp)

    • msgget(MSGQ_KEY, 0666 | IPC_CREAT): 创建一个消息队列,如果消息队列不存在则创建,否则获取现有的消息队列。
    • 定义一个message结构,包含消息类型和消息文本。
    • 设定消息类型并赋值消息文本。
    • msgsnd(msgid, &msg, sizeof(msg.msg_text), 0): 发送消息到消息队列。
    • 打印发送的消息。
  2. 接收消息的程序(receiver.cpp)

    • msgget(MSGQ_KEY, 0666 | IPC_CREAT): 获取消息队列。
    • 定义一个message结构,包含消息类型和消息文本。
    • msgrcv(msgid, &msg, sizeof(msg.msg_text), 1, 0): 从消息队列接收类型为1的消息。
    • 打印接收到的消息。
    • msgctl(msgid, IPC_RMID, nullptr): 删除消息队列。

运行步骤

  1. 分别编译sender.cppreceiver.cpp
    g++ sender.cpp -o sender
    g++ receiver.cpp -o receiver
    
  2. 打开两个终端,在第一个终端运行接收程序:
    ./receiver
    
  3. 在第二个终端运行发送程序:
    ./sender
    

运行结果

第一个终端(运行接收程序)输出:

Message received: Hello from sender process!

第二个终端(运行发送程序)输出:

Message sent: Hello from sender process!
http://www.yayakq.cn/news/851253/

相关文章:

  • 网站界面友好做项目的编程网站
  • 特价网站建设价格各类资源关键词
  • 如何建立自己的公司网站seo案例分享
  • 制作公司的网站如何开电商店铺
  • 通辽公司做网站网络系统结构与综合布线系统结构的关系
  • 网站运营与管理实训报告京东不让卖网站制作么
  • dede网站备份h5模板网站
  • 如何做网站走查北京市公司网站制作
  • 芜湖网站制作上合建设网站企业
  • iis服务器的默认网站猎场第几集做的网站推广
  • 响应式网站文案淄博周村专业网站建设公司
  • 网站排名规则东莞市公司网站建设怎么样
  • cad二次开发网站wordpress 微博相册
  • 福州市高速公路建设指挥部网站网站组成部分
  • 从哪些方面进行网站建设网站建设协议书模板 完整版
  • 哪里有学做ppt的网站网站可以建几个人
  • 创建网站的工作流程八年级信息技术什么网站源码做分类信息网站好
  • 网站建设的费用和预算wordpress实现用户中心
  • HS酒店网站建设wordpress代码seo
  • 专门做定制化的网站咸阳兼职做网站
  • 怎样选择高性价比的建站公司北湖区网站建设公司
  • 未来做那个网站致富可以做策略回测的网站
  • 怎么让自己的电脑做网站服务器灰色词排名上首页
  • 邢台口碑好的网站建设网页小游戏4933
  • 12306网站的建设历程略阳县有关作风建设的网站
  • 贵州建站管理系统网站建设的团队分工
  • 朝阳网站制作公司许昌住房建设局的网站
  • 网站制作 台州怎么做网站推广的论文
  • 百度官方网站入口北京网站建设模板
  • 淘客免费网站建设google官方网站注册