技术栈
进程间通信
皮皮哎哟
2 天前
linux
·
互斥锁
·
进程间通信
·
信号量
Linux多线程通信:告别数据混乱
在嵌入式Linux的C语言开发中,多线程能充分利用多核处理器,提升程序响应和吞吐能力。然而,当多个线程需要协作时,如何让它们安全、有序地“对话”就成了核心挑战。线程间通信(Inter-Thread Communication)正是解决这一难题的关键。本文将直击本质,详解基于共享内存的通信方式,并通过互斥锁与信号量,带你从理论走向实战。
’长谷深风‘
2 天前
c语言
·
进程
·
进程间通信
·
软件编程
进程间通信
一、进程间通信的方式: 1. 管道(最简单、最方便) 2. 信号 3. 消息队列 4. 共享内存(最高效) 5. 信号灯 6. 本地域套接字 二、管道 1. 无名管道 只能用于具有亲缘关系的进程间通信
_OP_CHEN
16 天前
linux
·
操作系统
·
进程
·
c/c++
·
fifo
·
进程间通信
·
命名管道
【Linux系统编程】(三十二)命名管道 FIFO 精讲:突破亲缘限制,实现任意进程间的 IPC 通信
前言一、命名管道的诞生:解决匿名管道的核心痛点1.1 匿名管道的致命短板1.2 命名管道的核心设计思路
_OP_CHEN
17 天前
linux
·
操作系统
·
进程
·
c/c++
·
管道
·
进程间通信
·
匿名管道
【Linux系统编程】(三十一)初识进程间通信 —— 管道与匿名管道,从原理到实战吃透经典 IPC
在 Linux/Unix 的进程世界中,每个进程都拥有独立的地址空间,就像一个个彼此隔绝的 “孤岛”。而进程间通信(IPC,Inter-Process Communication)就是连接这些孤岛的 “桥梁”,让进程之间能够实现数据传输、资源共享、事件通知和进程控制。管道作为 Unix 中最古老的 IPC 形式,是入门进程间通信的必经之路,而匿名管道更是管道通信的基础。本文将从进程间通信的基本概念出发,一步步拆解管道与匿名管道的原理、实现、读写规则和实战应用,用通俗的语言 + 硬核的代码,让你彻底吃透这一
我是阿亮啊
24 天前
android
·
线程
·
进程
·
进程间通信
Android 中线程和进程详解
原因:解决:
柏木乃一
1 个月前
linux
·
服务器
·
c++
·
进程间通信
·
ipc
·
匿名管道
·
进程池
进程间通信IPC(1)IPC概述,匿名管道,进程池
1.IPC概述 2.匿名管道 3.进程池进程间通信的英文名缩写就是IPC,在前面我们了解到进程之间是有很强的独立性的,即使是父子进程之间数据也是不互通的,一旦子进程去修改数据,就会触发写实拷贝. 但是为了让进程间进行数据的传输.就出现了这门技术,进程间通信. 对于下面所说的进程间通信,他们本质原理都是一样的. 都是让两个进程看到同一份资源. 而这个资源一般是由操作系统提供.
Trouvaille ~
1 个月前
linux
·
c++
·
chrome
·
架构
·
进程间通信
·
命名管道
·
进程池
【Linux】进程间通信(二):命名管道与进程池架构实战
💬 欢迎讨论:在上一篇中,我们学习了匿名管道的原理和使用,但匿名管道只能用于有亲缘关系的进程。如果两个毫不相关的进程想要通信怎么办?比如一个Server进程和一个Client进程,它们没有父子关系,如何交换数据?本篇将带你深入理解命名管道(FIFO),并通过一个完整的进程池项目,掌握管道在实际开发中的应用。
Trouvaille ~
1 个月前
linux
·
c++
·
操作系统
·
管道
·
进程间通信
·
信号量
·
system v
【Linux】进程间通信(三):共享内存深度剖析与System V IPC机制
💬 欢迎讨论:前两篇我们学习了管道机制,管道虽然简单易用,但性能并不是最优的。每次通信都需要经过内核缓冲区,涉及两次数据拷贝。有没有更快的IPC方式呢?答案是共享内存——最快的进程间通信方式!本篇将带你深入理解共享内存的原理、System V IPC机制,以及如何解决共享内存的并发问题。
Trouvaille ~
1 个月前
linux
·
运维
·
c++
·
管道
·
进程间通信
·
匿名管道
·
半双工
【Linux】进程间通信(一):IPC基础与管道机制深度剖析
💬 欢迎讨论:在学习了进程概念、进程控制之后,我们知道每个进程都有独立的地址空间。但实际开发中,进程之间经常需要协作完成任务,比如浏览器的渲染进程和网络进程需要交换数据,shell需要将一个命令的输出传给另一个命令。那么,进程之间如何通信呢?本篇将带你深入理解Linux进程间通信的基础——管道机制,从原理到实战,层层剖析。
一个平凡而乐于分享的小比特
1 个月前
linux
·
内存管理
·
进程间通信
·
虚拟文件系统
·
系统调用接口
·
网络接口
Linux内核核心组件详解
🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:Linux,本专栏目的在于,记录学习Linux操作系统的总结 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
ベadvance courageouslyミ
2 个月前
c语言
·
线程
·
makefile
·
进程间通信
·
线程邮箱
项目一(线程邮箱)
创建MBS---->注册线程---->等待mbs结束---->销毁邮箱系统MBS的创建并初始化创建节点并注册
赖small强
3 个月前
linux
·
c语言
·
c++
·
进程间通信
【Linux C/C++开发】第20章:进程间通信理论
想象一下你去餐厅吃饭:进程(Process) - 就像一家完整的餐厅线程(Thread) - 就像餐厅里的服务员
wuty007
5 个月前
wpf
·
进程间通信
·
sendmessage
·
进程权限
记录一下 WPF进程 SendMessage 发送窗口消息进行进程间通信,存在进程权限无法接受消息的问题
最近在接手一个同事写的WPF项目,是使用.NetFramwork 开发的,使用的进程间通信没有使用我们之前封装的基于WebSocket的封装组件的,而是使用Win32的方式:发送端用的Windows Api:SendMessage ,接受端使用的是 钩子监听windows 的消息回传。
青草地溪水旁
5 个月前
linux
·
进程间通信
进程“悄悄话”函数——`socketpair`
<摘要> 本文将以生动形象的方式深入解析socketpair函数。通过生活化的比喻,将其比作“进程间的双向对讲机”,阐述其创建一对相互连接的套接字、实现双向通信的核心功能,以及在父子进程通信、线程协作、测试调试等场景中的应用。详细介绍函数的声明(来自<sys/socket.h>,属POSIX标准)、返回值(成功返回0,失败返回-1并设置errno)及参数(域、类型、协议、套接字数组)。提供3个完整示例(父子进程流套接字通信、数据报套接字通信、错误处理),讲解编译运行注意事项与结果分析,并结合Mermaid
青草地溪水旁
7 个月前
linux
·
信号
·
进程间通信
Unix/Linux 系统编程中用于管理信号处理行为的核心概念或模型
在 Unix/Linux 系统编程中,管理信号处理行为涉及以下核心概念和模型,它们共同构成了信号处理的框架:
青草地溪水旁
7 个月前
socket
·
进程间通信
socketpair函数详解
socketpair() 是 Unix/Linux 系统中用于创建一对相互连接的匿名套接字的系统调用,专为 进程间通信 (IPC) 设计。这对套接字在创建后即处于连接状态,无需绑定地址或手动连接,特别适用于父子进程或线程间通信。
Invinciblenuonuo
9 个月前
linux
·
多进程
·
进程间通信
Linux【7】------Linux系统编程(进程间通信IPC)
信号是一种异步通信方式同步通信 同步指的是当进程发起一个请求,但是该请求并未马上响应,则进程就会阻塞等待,直到请求被响应 异步通信 异步指的是当进程发起一个请求,如果该请求并未马上响应,则进程会继续执行其他的任务,过来一段时间请求得到了响应,则会通知该进程,该进程得到通知再去对请求做出处理。
眠りたいです
10 个月前
linux
·
运维
·
服务器
·
网络
·
c++
·
进程间通信
Linux-网络基础
网络的起源与20世纪中期的冷战背景密切相关。美苏争霸期间,美国国防部担心传统集中式通信系统(如电话网络)在核战争中容易被摧毁,因此急需一种去中心化、高容错的通信方式。1969年,美国国防部高级研究计划局(ARPA)主导开发了ARPANET,这是第一个采用分组交换技术的实验性网络,实现了不同计算机之间的数据传输。ARPANET的设计核心是分散控制,即使部分节点被破坏,信息仍能通过其他路径传输,为现代互联网奠定了技术基础。
阿政一号
1 年前
linux
·
运维
·
服务器
·
进程间通信
Linux进程间通信:【目的】【管道】【匿名管道】【命名管道】【System V 共享内存】
目录一.进程间通信目的二.管道三.匿名管道3.1用fork来共享管理管道3.2站在文件描述符角度-深度理解管道
眠りたいです
1 年前
linux
·
运维
·
服务器
·
c++
·
进程间通信
Linux:利用System V系列的-共享内存,消息队列实现进程间通信
对于管道的进程间通信方式,需要频繁的调用系统调用(read,write)。而我们今天首先要介绍的共享内存,在开辟好空间之后,便可以跳过系统调用,直接进行读写操作。