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

本文详细介绍了进程间通信(IPC)中的消息队列机制,包括其目的、使用场景和具体实现。讲解了如何创建、发送和接收消息,以及如何查看进程通信状态。通过对消息队列的学习,加深了对进程间共享数据和资源控制的理解。

一、学习的知识点

1 回顾

1.1

三阶段学:

  1. 系统编程 包括 进程、IPC(进程间通信,如信号、管道、消息队列、共享内存、信号量)
  2. 网络编程 包括 socket:TCP/IP,
  3. 线程:多线程、线程池
  4. OpenCV

1.2

Linux 一切皆文件,通过文件描述符对文件读写。 是操作系统操作文件或设备的指针
虚拟机 桥接模式可以联网 NAT模式有虚拟网卡,只能用于同一个环境之间的通信

2 进程间通信

2.1进程间通信的目的

  1. 数据传输
  2. 共享数据
  3. 通知事件 一般用信号
  4. 资源共享 多个进程共享同样的资源, 需要内核提供锁和同步机制
  5. 进程控制

2.2 进程间通信

  1. 早期UNIX进程间通信、基于System X进程间通信、基于Socket进程间通信、POSIX进程间通信
  2. UNIX进程间通信方式包括:管道、FIFO、信号
  3. System V进程间通信方式包括System V消息队列、System V信号灯、System V共享内存
  4. POSIX进程间通信方式包括posix消息队列、posix信号灯、posix共享内存
2.2.1 消息队列

消息队列是消息的链表
在这里插入图片描述

  1. 每一个消息队列都有一个id,内核可以有两个三个消息队列,消息队列存在内核中
  2. 内核:一片内存
  3. 命令 ipcs 查看进程通信
  4. 消息可以接收指定类型的消息,如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的方法

本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩与纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算与数据处理能力的工具,在图像分析与模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常与其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换与直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构与形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式与Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取与分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术与模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识与实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习与掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值