20240203进程间通信的7种方式

内核提供的原始通信方式有三种:

①无名管道:没有名字的管道,是一个特殊的文件,并且存储在内存上,不在文件系统中展示,无名管道打开后,会返回两个文件描述符,一个是读端,一个是写端,无名管道只能适用于亲缘进程间的通信,需要在fork之前将管道文件打开,创建子进程后,子进程继承一份管道的文件描述符才能使用该管道,可以完成自己跟自己的通信

②有名管道:有名字的管道文件,会在文件系统中创建一个管道文件,仅仅用来进程间通信,不用于存储数据,可以用于亲缘间通信,也可以用于非亲缘间进程通信

③信号:软件模拟底层硬件的中断操作,信号是软件实现的,中断是硬件实现的,用户可以给某个进程发送信号,一个进程也能给另一个进程发送信号,内核也可以给某个进程发送信号,当一个进程收到信号后的操作有三种,默认,捕获,忽略

SysⅤ提供了三种通信方式:

①消息队列:就是 存放消息的链表,是一系列保存消息的列表,用户进程可以向消息队列中添加消息,也可以向消息队列中读取消息

②共享内存(效率高):允许两个或多个进程共享一个存储区,这一个存储区,可以被两个或多个进程映射到自身的内存空间,一个进程往共享内存中写入信息,其他进程可以读取

③信号量(信号灯集):用于实现同步与互斥,如果要实现进程间数据通信,要和共享内存结合

套接字通信:socket:有两种通信方式,tcp和udp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL原理(五)事务

一、介绍: 1、介绍: 在计算机术语中,事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。 2、事务的4大特性 原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性…

LaTeX表格:合并单元格、文字旋转90度并居中

在LaTeX表格中,如何使用\multirow合并单元格,并将单元格中的文字旋转九十度,并且居中呢? 首先引入graphicx、multirow和array包: \usepackage{graphicx} \usepackage{multirow} \usepackage{booktabs}然后定义一种新…

类银河恶魔城学习记录1-4 PlayerJumpState基本源代码 P31

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Player.cs using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; u…

DoubleEnsemble:基于样本重加权和特征选择的金融数据分析方法

现代机器学习模型(如深度神经网络和梯度提升决策树)由于其提取复杂非线性模式的优越能力,在金融市场预测中越来越受欢迎。然而,由于金融数据集的信噪比非常低,并且是非平稳的,复杂的模型往往很容易过拟合。…

「递归算法」:Pow(x,n)

一、题目 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000示例 2: 输入:x 2.10000, n 3 输出:9…

使用Arcgis对欧洲雷达高分辨率降水数据重投影

当前需要使用欧洲高分辨雷达降水数据,但是这个数据的投影问题非常头疼。实际的投影应该长这样(https://gist.github.com/kmuehlbauer/645e42a53b30752230c08c20a9c964f9?permalink_comment_id2954366https://gist.github.com/kmuehlbauer/645e42a53b307…

个人建站前端篇(三)环境变量配置

在项目根目录下新建.env.development和.env.production文件,里面配置环境变量 .env.development内容如下 # 页面标题 VITE_APP_TITLE 云风网 # 开发环境配置 VITE_APP_ENV development # 开发环境 VITE_APP_BASE_API /api # 是否启用代理 VITE_HTTP_PROXY tru…

深入了解 Ansible:全面掌握自动化 IT 环境的利器

本文以详尽的篇幅介绍了 Ansible 的方方面面,旨在帮助读者从入门到精通。无论您是初学者还是有一定经验的 Ansible 用户,都可以在本文中找到对应的内容,加深对 Ansible 的理解和应用。愿本文能成为您在 Ansible 自动化旅程中的良师益友&#…

故障诊断 | 一文解决,LSTM长短期记忆神经网络故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现LSTM长短期记忆神经网络故障诊断 专栏介绍 订阅【故障诊断】专栏,不定期更新机器学习和深度学习在故障诊断中的应用;订阅

Skywalking 学习之ByteBuddy 方法执行时间监控

Skywalking git: GitHub - apache/skywalking: APM, Application Performance Monitoring System 集成入门: 10分钟3个步骤集成使用SkyWalking - 知乎 下面自己学习了一下ByteBuddy的用法,实战了一下: 入门教程: B…

[基础IO]文件描述符{重定向/perror/磁盘结构/inode/软硬链接}

文章目录 1. 再识重定向2.浅谈perror()3.初始文件系统4.软硬链接 1. 再识重定向 图解./sf > file.txt 2>&1 1中内容拷贝给2 使得2指向file 再学一个 把file的内容传给cat cat拿到后再给file2 2.浅谈perror() open()接口调用失败返回-1,并且错误码errno被适当的设置,…

虚拟机Windows Server 2016 安装 MySQL8

目录 一、下载MySQL8 1.下载地址: 2.创建my.ini文件 二、安装步骤 第一步:命令窗口 第二步:切换目录 第三步:安装服务 第四步:生成临时密码 第五步:启动服务 第六步: 修改密码 三…

【服务器搭建】快速完成幻兽帕鲁服务器的搭建及部署【零基础上手】

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 教程详戳:不需要懂技术,1分钟幻兽帕鲁服…

stable diffusion学习笔记——高清修复

ai画图中通常存在以下痛点: 受限于本地设备的性能(主要是显卡显存),无法跑出分辨率较高的图片。生图的时候分辨率一调大就爆显存。即便显存足够。目前主流的模型大多基于SD1.0和SD1.5,这些模型在训练的时候通常使用小…

【Git】01 Git介绍与安装

文章目录 一、版本控制系统二、Git三、Windows安装Git3.1 下载Git3.2 安装3.3 检查 四、Linux安装Git4.1 YUM安装4.2 源码安装 五、配置Git5.1 配置用户名和邮箱5.2 配置级别5.3 查看配置 六、总结 一、版本控制系统 版本控制系统,Version Control System&#xff…

大数据分析|大数据分析的三类核心技术

文献来源:Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接:链接:https://pan.baidu.com/s/1…

2024.2.3 寒假训练记录(17)

补一下牛客,菜得发昏了,F搞了两个小时都没搞出来,不如去开H了 还没补完 剩下的打了atc再来 文章目录 牛客 寒假集训1A DFS搜索牛客 寒假集训1B 关鸡牛客 寒假集训1C 按闹分配牛客 寒假集训1D 数组成鸡牛客 寒假集训1E 本题又主要考察了贪心牛…

java设计模式:策略模式

在平常的开发工作中,经常会用到不同的设计模式,合理的使用设计模式,可以提高开发效率,提高代码质量,提高代码的可拓展性和维护性。今天来聊聊策略模式。 策略模式是一种行为型设计模式,运行时可以根据需求动…

(2024|ICLR reviewing,IGN,EBGAN,重建、幂等和流形紧致目标)幂等生成网络

Idempotent Generative Network 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 2. 方法 2.1 优化目标 2.2 训练 2.3 架构和优化 4. 实验 5. 相关工作 6. 局限性 0. 摘要…

PyTorch基础-Tensors属性、Tensor的运算

PyTorch的基本概念 Tensor的基本概念 张量高于标量、向量、矩阵 标量说零维的张量,向量是一维的张量,矩阵是二维的张量 Tensor与机器学习的关系 Tensor的创建 函数功能Tensor(*size)基础构造函数Tensor(data)类似np.arrayones(*size)全1Tensorzeros(…