- 12
- 0
- 约 28页
- 2016-12-31 发布于河南
- 举报
进程同步练习
习题课 进程同步练习 ——进程同步练习 信号量 typedef struct { int value; struct process *L; }semaphore; P操作 P(S){ S.value--; if(S.value 0){把此进程回到到与此资源相关的等待队列中并将此进程挂起} } V操作 V(S){ s.value++; if(S.value = 0){从此资源相关的等待队列中唤醒一个进程;} } 进程同步问题的求解依据 ——信号量的两种应用 实现进程互斥 分析题目中的资源、互斥资源,设置信号量及初值 分析题目中的进程,及其行为,进程访问的资源 利用所设置的信号量控制进程对资源的访问 必要时增加共享变量(如计数器),进程对共享变量的访问是互斥的 实现进程合作(实现前趋关系) 识别是进程合作类型的题目(一般会有合作、协作、配合之类的字样) 分析进程/语句之间的前趋关系,为每条边设置信号量(初值为0) 利用所设置的信号量控制进程/语句执行的次序 题目1: 一个仓库中只库存两种产品:A和B,需要满足条件如下: A的产品数量-B的产品数量 M B的产品数量-A的产品数量 N 每次只能存一种产品 其中M,N均为整数。 分析: A数量与B数量相互制约,假设当前时刻A最多可以
原创力文档

文档评论(0)