同步、互斥问题

本文详细介绍了进程同步和互斥的概念,包括它们的原因、原则和实现方法,如信号量机制。同时,通过讨论生产者消费者问题、多生产者-多消费者问题等经典案例,阐述了进程同步的实践应用。此外,还探讨了死锁问题及其处理策略,包括预防、避免和检测解除死锁的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于进程同步

一、进程同步是为了解决什么问题 ?
为了解决并发过程中 进程具有异步特性 带来的问题 (有些任务 需要进程间按序执行)
(进程具有异步的特性, 异步 是指 各并发执行的进程 以各自独立的,不可预测的速度向前推进)

二、进程同步 指的是什么 ?
让进程 能够 按序执行

关于进程互斥

一、什么是进程互斥 ?
进程 对 临界资源互斥访问。(同一时间只允许一个进程访问)

	( 临界资源的概念 : 一个时间段 只能允许一个进程使用的资源)

二、为了访问临界资源 进程互斥 在 逻辑上 分为四个部分
1、进入区 : 检查是否可以进入 临界区 ,可以进入 则 “上锁
2、临界区 : 访问临界资源 的 那段代码
3、退出区 : 负责 “解锁
4、其他区 : 其他的代码

三、进程互斥 需要 遵循 以下的原则
1、空闲让进 : 临界区空闲时 , 可以允许 一个 请求进入临界区 的进程进入
2、忙则等待 : 当有一个进程进入了临界区 , 其他想进的进程 需要等待空闲
3、有限等待 : 对于发起进入临界区 的 进程 ,需要保证 在一定时间内 能够进入 (不会饥饿)
4、让权等待 : 当一个进程不能进入 临界区, 应该立刻释放处理机避免忙等待

在这里插入图片描述

进程互斥的软件实现方法

在这里插入图片描述

一、单标志法

在这里插入图片描述
在这里插入图片描述

二、双标志先检查法

在这里插入图片描述

三、双标志后检查法

在这里插入图片描述
四、person 算法
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值