欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

操作系统实验 # 图书馆阅览室问题 伪码及编程实现

程序员文章站 2022-04-11 12:57:53
...

问题描述:假定阅览室最多可同时容纳100个人阅读,读者进入时,必须在阅览室门口的一个登记表上登记,内容包括姓名、座号等,离开时要撤掉登记内容。用P、V操作描述读者进程的同步算法。

操作系统实验 # 图书馆阅览室问题 伪码及编程实现
原理及代码解读见我的另一篇文章:操作系统 # 从零开始的信号量机制理论与实践
https://blog.csdn.net/qq_33583069/article/details/105877936 link~

伪代码实现

var mutex,res:semaphore;
mutex:=1; res:=100;

Procedure reader(readerID);
{
	P(res);
	P(mutex);
	registrationInformation(readerID);
	V(mutex);
	reading();
	P(mutex);
	cancelRecord(readerID);
	V(mutex);
	V(res);
}

C/C++实现

#include<stdio.h&g
相关标签: 课程设计