96SEO 2026-02-20 08:35 0
沉默的时光那段时光是付出了很多努力却得不到结果的日子我们把它叫做扎根

V共享内存共享内存的原理对共享内存的认识共享内存函数system
形式。
一旦这样的内存映射到共享它的进程的地址空间这些进程间数据传递不再涉及到内核。
换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据进程如果要读写直接进行内存即的读和写接口。
而之前学习的
系统调用才能进行通信原因就是管道的本质是文件文件是内核中的一种数据结构由操作系统维护3
G的内核空间用户无权进行直接访问只能通过系统调用来进行访问。
注堆栈之间的共享内存属于用户空间内核空间是
共享内存不属于通信的任意一个进程其属于操作系统由操作系统所管理。
管道的本质是文件操作系统已经有相应的内核数据结构来管理文件因此不需要再去设计新的内核数据结构去管理管道。
而共享内存是专门为了进程间通信而设计的操作系统可能会有很多共享内存那么操作系统就需要将这些共享内存管理起来。
管理的方式是先描述再组织那么共享内存就等于共享内存块加上共享内存对应的内核数据结构。
对共享内存的修改包括对属性的修改和对内容的修改。
函数的功能是创建或获取共享内存需要指明共享内存的权限失败时的返回值是
函数的功能是将共享内存段连接到进程地址空间建立页表映射关系。
第一个参数是共享内存的标识符
时表示连接操作用来只读共享内存。
成功返回一个指针指向共享内存第一个字节失败返回
-1。
注意将共享内存段与当前进程脱离不等于删除共享内存段。
shmctl
为指向一个保存着共享内存的模式状态和访问权限的数据结构不关心共享内存的内核数据结果是buf
shmServershmClient:shmClient.ccg
//共享内存的大小,最好是页(PAGE:4096KB)的整数倍//
注意共享内存创建好全部都会被置成0for(;;){printf(%s\n,
删除共享内存,IPC_RMID即便还有进程挂接该共享内存,依旧删除该共享内存n
使用,客户端将共享内存看做一个char类型的bufferwhile(true){ssize_t
就算客户端没有向共享内存中写入数据服务端也会一直读取。
只要通信双方使用共享内存一方直接向共享内存中写入数据另一方就可以马上看到对方写入的数据。
共享内存是所有进程间通信IPC中速度最快的因为其不需要过多的拷贝不需要将数据给操作系统
以共享内存的方式进行进程间通信缺乏访问控制会带来并发控制比如写端还没将全部数据写入读端就已经开始读取了这将会带来巨大的问题
//共享内存的大小,最好是页(PAGE:4096KB)的整数倍
endl;}~Init(){unlink(FIFO_NAME);Log(delete
sizeof(uint32_t));(void)s;Log(唤醒中......,
对应的程序在加载的时候,会自动构建全局变量,就要调用该类的构造函数
程序退出的时候,全局变量会被析构,自动调用析构函数,会自动删除管道文件
服务端等待客户端唤醒Wait(fd);printf(%s\n,
删除共享内存,IPC_RMID即便还有进程挂接该共享内存,依旧删除该共享内存n
使用,客户端将共享内存看做一个char类型的bufferwhile(true){ssize_t
}因为管道具有访问控制我们只要给共享内存加个管道就可以实现进程通信的访问控制了。
该管道文件并不是用来通信的而是用来访问控制的管道文件内的数据是多少并不重要
消息队列先进先出提供了一个从一个进程向另外一个进程发送一块数据的方法。
每个数据块都被认为是有一个类型接收者进程接收的数据块可以有不同的类型值。
IPC
资源的生命周期随内核。
常用系统调用ftokmsgget创建消息队列msgctl控制消息队列msgsnd向消息队列发送数据msgrcv从消息队列中读取数据等。
我们之前学习的所有的通信方式本质都是优先解决一个问题让不同的进程看到同一个资源让不同的进程看到同一个资源比如共享内存也带了一些时序问题造成数据不一致问题。
多个进程执行流看到的公共的一份资源称为临界资源或互斥资源。
进程中访问临界资源的代码称为临界区。
多个执行流互相运行时互相干扰是因为我们不加保护地访问了同样的资源临界资源。
在非临界区多个执行流不会互相干扰。
为了更好地进行临界区的保护可以让多执行流在任何时候都只有一个进程进入临界区这种特征称为互斥。
原子性是指事务的不可分割性一个事务的所有操作要么不间断地全部被执行要么一个也没有执行没有任何其他的中间状态。
本篇博客主要讲解了什么是共享内存、共享内存的原理、用共享内存实现客户端和服务端的通信、什么是消息队列、消息量以及进程互斥等等。
那么以上就是本篇博客的全部内容了如果大家觉得有收获的话可以点个三连支持一下谢谢大家❣️
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback