关于进程同步
一、进程同步是为了解决什么问题 ?
为了解决并发过程中 进程具有异步特性 带来的问题 (有些任务 需要进程间按序执行)
(进程具有异步的特性, 异步 是指 各并发执行的进程 以各自独立的,不可预测的速度向前推进)
二、进程同步 指的是什么 ?
让进程 能够 按序执行
关于进程互斥
一、什么是进程互斥 ?
进程 对 临界资源的互斥访问。(同一时间只允许一个进程访问)
( 临界资源的概念 : 一个时间段 只能允许一个进程使用的资源)
二、为了访问临界资源 进程互斥 在 逻辑上 分为四个部分
1、进入区 : 检查是否可以进入 临界区 ,可以进入 则 “上锁”
2、临界区 : 访问临界资源 的 那段代码
3、退出区 : 负责 “解锁”
4、其他区 : 其他的代码
三、进程互斥 需要 遵循 以下的原则
1、空闲让进 : 临界区空闲时 , 可以允许 一个 请求进入临界区 的进程进入
2、忙则等待 : 当有一个进程进入了临界区 , 其他想进的进程 需要等待空闲
3、有限等待 : 对于发起进入临界区 的 进程 ,需要保证 在一定时间内 能够进入 (不会饥饿)
4、让权等待 : 当一个进程不能进入 临界区, 应该立刻释放处理机,避免忙等待
进程互斥的软件实现方法
一、单标志法
二、双标志先检查法
三、双标志后检查法
四、person 算法
进程互斥的硬件实现方法
信号量机制
用信号量机制实现 进程同步、互斥、驱动关系
一、信号量机制实现进程互斥
步骤 : 1、分析并发进程的关键活动,划分出临界区
2、设置互斥信号量 mutex ,初值为 1
3、在进入区 P操作------- 申请资源
4、在退出区 V操作------- 释放资源
二、信号量机制实现进程同步
步骤 : 1、分析在什么地方需要实现“同步关系”, 即保证 “一前一后” 执行的两个操作
2、设置一个 同步信号量 S ,初值为 0
3、在 “前操作” 执行 V(S)
4、在 “后操作“执行 P(S)
三、信号量机制实现前驱关系
标签:信号量,同步,进程同步,问题,互斥,临界,进入,进程 来源: https://blog.csdn.net/weixin_45844836/article/details/112065666
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。