用信号量机制实现互斥,同步,前驱

news/2025/9/29 11:08:31/文章来源:https://www.cnblogs.com/jimGraymane/p/19118356

实现进程互斥

1.分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问)

2.设置互斥信号量mutex,初始值为1 (mutex n.互斥)

3.进入区P(mutex)--申请资源

4.退出区V(mutex)--释放资源

注意:

对于不同的临界资源需要设置不同的互斥信号量mutex

P/V操作必须成对出现,缺少P就不难保证临界资源的互斥访问,缺少V就会导致资源永不被释放

实现进程同步

让各并发进程按照要求有序进行推进。

P1,P2并发执行,由于存在异步性,二者交替推进的次序是不确定的。

若P2的代码4要基于p1的代码1和代码2的运行结果才能执行,就必须保证代码4一定要在代码2之后执行

P1(){代码1;代码2;代码3;
}
P2(){代码4;代码5;代码6;
}

我们分析在什么地方需要实现同步关系,必须保证以前以后之心两个操作,会哦这两句代码,设置同步信号量S,初始值为0

semaphore S=0;//初始化信号量,初始值为0P1(){代码1;代码2;V(S);代码3;
}
P2(){P(S);代码4;代码5;代码6;
}

当先执行p1再执行p2的时候

执行完代码1和2,S++变为了1

然后执行到P(S)时,表示有可用资源,执行S(--)S的值会变回0

P2进程不会执行block原语,而是继续往下执行代码4

如果先执行p2再执行p1

由于S=0,S--后变为了-1,表示这个时候没有可用的资源,因此会执行block原语,主动请求阻塞

等执行完代码1和代码2后,执行V(S)让S++,S变回0

此时S的值依然<=0因此执行wakeup指令,唤醒P2进程,此时p2可继续执行代码4

实现前驱关系

进程P1中有一句代码S1,P2中又一句代码S2,P3中...这些代码要求按照一定的顺序来执行

此时每一对前去关系都是一个进程同步的问题(需要保证一前一后操作)

1.要为每一对前去关系各设置一个信号同步量

2.在前操作之后对响应的同步信号量执行V操作

3.在后操作之前对响应的同步信号量执行P操作

前V后P

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

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

相关文章

详细介绍:HDFS和MapReduce——Hadoop的两大核心技

详细介绍:HDFS和MapReduce——Hadoop的两大核心技pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

同城分类网站建设怎么免费查企业电话

简述 RT-Thread的构建与配置系统由以下几个部分组成&#xff1a; KConfig&#xff1a;kernel config配置文件&#xff08;提供系统的配置裁剪功能&#xff09;SCons&#xff1a;构建工具env工具&#xff1a;主要提供构建系统所需的各种环境变量以及软件包的管理 Kconfig在R…

AxC杂题乱做

\(\operatorname{Update\;on\;2025.9.26}\) ABC422F dp题。 考虑费用提前计算,设 \(f_{i,j}\) 表示当前在点 \(i\),还需要走 \(j\) 步的最小花费。 \[f_{v,j}\gets f_{u,j+1}+j\times w_v,\exist (u,v) \]复杂度 \(O…

Apache Hive 如何在大内容中发挥能量

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【AI 哲学思考】从大模型演进到生命隐喻:个性、极限与先天后天之问

【AI 哲学思考】从大模型演进到生命隐喻:个性、极限与先天后天之问从大模型演进到生命隐喻:个性、极限与先天后天之问当下对 AI 大模型的优化,无论是微调以适配特定场景,还是对齐人类价值观,几乎都离不开一个前提…

【AI 哲学思考】记忆的形态:从人脑到 AI 的存储之问

【AI 哲学思考】记忆的形态:从人脑到 AI 的存储之问记忆的形态:从人脑到 AI 的存储之问人脑的记忆究竟能清晰到何种程度?我们能一字不差地背诵多少内容?显然,这份 “零误差记忆容量” 必然存在一个上限 —— 就像…

广州万户网站公司wordpress英文美食主题

前言 计划是这样的&#xff1a;当有人使用你不理解的特性时&#xff0c;直接开枪打死他们。这比学习新东西要容易得多&#xff0c;不久之后&#xff0c;活下来的程序员只会用一个容易理解的、微小的 Python 0.9.6 子集来编写代码 。 Tim Peters&#xff0c;传奇的核心开发者&am…

ISP DMA TEST

定义理解 Camera ISP 场景 Camera ISP 场景下在 ISP → Memory 的数据流里:ISP 内部有 DMA 引擎(通常叫 ISP output DMA / Write DMA)。 ISP 出一帧时,数据通过 内部 DMA 硬件写入内存。 一帧传完,ISP 会产生“fr…

基于遗传优化的SVM织物瑕疵类型识别matlab仿真 - 实践

基于遗传优化的SVM织物瑕疵类型识别matlab仿真 - 实践2025-09-29 10:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

完整教程:大模型agent综述:A Survey on Large Language Model based Autonomous Agents

完整教程:大模型agent综述:A Survey on Large Language Model based Autonomous Agentspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importan…

三脚电感在报警器芯片里的实际作用与用法

由芯片上的声音输出端,通过1K电阻,接到三极管基极脚,再通过集电极脚接到三脚电感的第3脚,同时接到蜂鸣片。三脚电感的另外二个脚,长的2脚接到电源正极,1脚直接接到蜂鸣片。这样就能提升音量,,可以与不接三脚电…

莆田外贸自建网站国家建设局网站

Github网址&#xff1a;nagadomi/waifu2x&#xff1a;动漫风格艺术的图像超分辨率 (github.com) 该项目主要讲述的是如何利用预训练的深度学习模型来达到无损扩大收缩和去噪&#xff0c;对于一般训练图像的小伙伴应该很清晰图像经常要通过resize操作固定大小&#xff0c;然后c…

音乐网站模板免费源码哔哩哔哩网站4 3比例怎么做

最近呢小誉收到了一位工作十年的学员投稿&#xff0c;这位学员是2011年从誉天学习HCIE课程并顺利拿证&#xff0c;先后在华为等大厂工作。他想把他这十年的工作经验分享给各位学弟学妹们。 这些经验并非来自于具体的技术实现&#xff0c;而是在架构设计和实施过程中所体会到的一…

洛谷题单指南-进阶数论-P5091 【模板】扩展欧拉定理

原题链接:https://www.luogu.com.cn/problem/P5091 题意解读:求ab % m,b超级大。 解题思路: 大数幂取模问题,通常要用到扩展欧拉定理,下面从欧拉函数开始介绍。 1、欧拉函数 定义:小于等于n的正整数中与n互质的…

jenkins maven nacos springboot profile实现多环境配置

在 Jenkins 构建 Spring Boot 项目时,结合 Maven、Nacos 和 Profile 可以实现多环境(开发、测试、生产)的自动化部署与配置管理。以下是四者的协同工作方式及具体实现步骤: 核心概念与关系Spring Boot Profile:用…

RAG is really dead? 大模型和知识之间的桥梁没了? - spader

作者:SpaderMan 从 RAG 到上下文工程:理性思考 AI 应用开发,以交付业务结果为目标 最近,Latent Space 播客发布了一期标题为["RAG 已死,上下文工程为王"](https://www.latent.space/p/chroma "&qu…

.NET操作Excel:高效材料读写与批量运行

.NET操作Excel:高效材料读写与批量运行pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

【深度解析】从零构建体育数据流水线:足球与篮球数据接入实战

【深度解析】从零构建体育数据流水线:足球与篮球数据接入实战不止于兴趣,更是技术实践 作为一名开发者兼体育爱好者,我始终对数据驱动体育的世界着迷。但不同于普通观众,我们更关心的是:这些数据如何通过技术手段…

Qwen-Image技术报告

原文:https://mp.weixin.qq.com/s/GLEa3fIc67uX9IK50LDeNw 全文摘要本文介绍了一种名为Qwen-Image的图像生成基础模型,它在复杂文本渲染和精确图像编辑方面取得了显著进展。为了解决复杂文本渲染的挑战,作者设计了一…

苏州相城区网站建设渭南市工程建设项目审批网上办事大厅

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…