关于进程同步
一、进程同步是为了解决什么问题 ?
为了解决并发过程中 进程具有异步特性 带来的问题 (有些任务 需要进程间按序执行)
(进程具有异步的特性, 异步 是指 各并发执行的进程 以各自独立的,不可预测的速度向前推进)
二、进程同步 指的是什么 ?
让进程 能够 按序执行
关于进程互斥
一、什么是进程互斥 ?
进程 对 临界资源的互斥访问。(同一时间只允许一个进程访问)
( 临界资源的概念 : 一个时间段 只能允许一个进程使用的资源)
二、为了访问临界资源 进程互斥 在 逻辑上 分为四个部分
1、进入区 : 检查是否可以进入 临界区 ,可以进入 则 “上锁”
2、临界区 : 访问临界资源 的 那段代码
3、退出区 : 负责 “解锁”
4、其他区 : 其他的代码
三、进程互斥 需要 遵循 以下的原则
1、空闲让进 : 临界区空闲时 , 可以允许 一个 请求进入临界区 的进程进入
2、忙则等待 : 当有一个进程进入了临界区 , 其他想进的进程 需要等待空闲
3、有限等待 : 对于发起进入临界区 的 进程 ,需要保证 在一定时间内 能够进入 (不会饥饿)
4、让权等待 : 当一个进程不能进入 临界区, 应该立刻释放处理机,避免忙等待
进程互斥的软件实现方法
一、单标志法
二、双标志先检查法
三、双标志后检查法
四、person 算法