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

Linux软件编程:进程与线程(进程(消息队列、共享内存、信号灯))

一、消息队列

(一)IPC对象

        1.IPC对象可以理解为一种内存文件

        2.IPC对象在操作系统关闭的情况下数据被回收掉

        3.IPC对象可以通过文件系统来定位

        4.每个IPC对象可以创建一个消息队列、一个共享内存、一个信号灯

(二)IPC对象操作命令

        1.查看IPC对象

                ipcs

                ipcs -q/m/s(查看消息队列/共享内存/信号灯)

        2.删除IPC对象

                ipcrm

                ipcrm -q/m/s(消息队列/共享内存/信号灯的ID)

                ipcrm -Q/M/S(IPC对象的key值)

(三)操作流程

        1.创建/打开消息队列

        2.向消息队列中发送消息

        3.从消息队列中接收消息

(四)函数接口

        1.ftok

        2.msgget

        3.msgsnd

        4.msgrcv

        5.msgctl

二、共享内存

(一)概念

        1.进程空间是独立的,共享内存是开辟一端内核空间,进程都映射到这一片空间上,实现空间的共享

        2.进程间通信最高效形式

(二)操作方法

        1.创建IPC对象名称

        2.创建共享内存

        3.将进程空间地址映射到共享内存空间中

        4.读写共享内存空间实现进程间通信

        5.解除共享内存映射

        6.删除共享内存

(三)函数接口

        1.ftok

        2.shmget

        3.shmat

        4.shmdt

        5.shmctl

三、信号灯

(一)概念

        1.搭配共享内存实现进程间通信

        2.主要用于多进程任务

        3.信号灯是一组信号量,即信号量数组

        4.用于线程间通信的信号量成为无名信号量,信号灯是有名信号量

(二)信号灯操作

        1.创建信号量数组

        2.申请信号量

        3.释放信号量

        4.信号量销毁

(三)函数接口

        1.ftok

        2.semget

        3.semop

        4.semctl

http://www.dtcms.com/a/339488.html

相关文章:

  • 决策树二-泰坦尼克号幸存者
  • 微服务集训整理
  • AI赋能市场拓展:从智能潜力洞察到渠道精准深耕,解锁商业增长新蓝海
  • 【Proteus仿真】【51单片机】基于51单片机密码锁
  • 优秘企业智脑 AISEO 实战:如何通过多模态大模型提升搜索引擎排名?附 3 大行业案例
  • pytorch学习笔记-argparse的使用(加更版)
  • 基于SpringBoot+Vue的写真馆预约管理系统(邮箱通知、WebSocket及时通讯、协同过滤算法)
  • 哪些仪器适合对接电子实验记录本,哪些不适合?
  • Java 11中的Collections类详解
  • Web安全攻防基础
  • 什么是IP隔离?一文讲清跨境电商/海外社媒的IP隔离逻辑
  • JVM对象创建和内存分配
  • 2025年12大AI测试自动化工具
  • 基礎複分析習題6.級數與乘積展開
  • 广东省省考备考(第八十一天8.19)——资料分析、数量(强化训练)
  • MVC、MVP、MVCC 和 MVI 架构的介绍及区别对比
  • 面试题储备-MQ篇 2-说说你对RocketMQ的理解
  • 基于WebSocket和SpringBoot聊天项目ChatterBox测试报告
  • 怎样平衡NLP技术发展中数据质量和隐私保护的关系?
  • 中科米堆CASAIM自动化三维测量设备测量汽车壳体直径尺寸
  • 多模态大模型应用落地:从图文生成到音视频交互的技术选型与实践
  • 5.1Pina介绍
  • 进程间的通信(管道,信号)
  • 知行社:以爱之名,共筑公益梦想
  • Podman:Mysql(使用卷)
  • 【Goland】:面向对象编程
  • Day 29 类的装饰器
  • 如何将任意文件一键转为PDF?
  • 【PHP】模拟斗地主后端编写
  • Matplotlib数据可视化实战:Matplotlib图表美化与进阶教程