进程同步的基本概念
1.两种形式的制约关系
多道程序环境中,并发进程之间存在资源共享,进程之间存在着制约关系。
(1)间接相互制约关系,称为进程互斥
例如:A、B两个进程同时申请一台打印机
(2)直接相互制约关系,称为进程同步
例如:输入进程与计算进程之间
2.临界资源
临界资源是指在一段时间内,只允许一个进程访问的资源。
临界资源举例
临界资源实验
设计主线程TestCounter,其中静态变量counter初值为5;调用两个线程TestThread1、TestThread2;两个线程分别实现counter的加1、减1操作。
3.临界区
临界区:进程中访问临界资源的一段代码。
进入区:在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应“正在访问临界区”标志。
退出区:用于将“正在访问临界区”标志清除。
剩余区:代码中的其余部分。
4.同步机制应遵循的规则
空闲则入:其他进程均不处于临界区
忙则等待:已有进程处于其临界区
有限等待:等待进入临界区的进程不能死等
让权等待:不能进入临界区的进程,应释放CPU
信号量机制
1.整型信号量
2.记录型信号量
进程同步
最新推荐文章于 2024-05-03 21:24:51 发布