阅览室问题(C#实现)
#实现语言:C#
#问题描述:
有一个阅览室,共有10个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息
#问题分析:
读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者.读者在阅览室读书时,由于没有引起资源的变动,不算动作变化.
算法的信号量有三个:SeatCount——表示阅览室是否有空座位(初值为10,代表阅览室的空座位数);用于互斥的Mutex,初值为1.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;namespace ConsoleApplication1
{class Program{private static Semaphore SeatCount, Mutex;private static string[] table = new string[10]; //模拟座位登记表static void Main(string[] args){SeatCount = new Semaphore(10, 10);Mutex = new Semaphore(1, 1);for (int i = 0; i < 100; i++) // i代表读者数{Thread aa = new Thread(reader);aa.Start();}}public static void reader(){SeatCount.WaitOne();Mutex.WaitOne();for (int i = 0; i < 10; i++){if (table[i] == null || table[i] == ""){Console.WriteLine("已登记");table[i] = "AAA";break;}}Mutex.Release();Console.WriteLine("阅读中");Thread.Sleep(5000);Mutex.WaitOne();Console.WriteLine("注销");for (int i = 0; i < 10; i++){if (table[i] == "AAA"){table[i] = "";break;}}Mutex.Release();SeatCount.Release();}}
}
阅览室问题(C#实现)相关推荐
- PTA L1_043 阅览室(详解坑点)
PTA L1_043 阅览室(详解及坑点) 阅览室 一.问题再现 二.问题分析 (一).输入分析 (二).规则分析 (三).输出分析 三.坑点分析 (一).到底有多坑 (二).测试点0,2 (三).测 ...
- C语言 满分代码:L1-043 阅览室 (20分)(解题报告)
立志用更少的代码做更高效的表达 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超 ...
- L1-043 阅览室 (20 分)(在线模拟题)
L1-043 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为 ...
- 7-183 阅览室 (20 分)
7-183 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不 ...
- 图书室用计算机,电子阅览室使用
电子阅览室使用规定 1.在校学生凭阅览证进入电子阅览室. 2.爱护室内的所有设备,发现计算机有异常时,要及时向管理员报告.软.硬件系统均由管理员进行维护和管理,严禁私自拆卸机器.修改系统设置. 3.严 ...
- L1-043 阅览室-PAT团体程序设计天梯赛GPLT
天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过1000的正整数.当管理员将0 ...
- 中学图书室管理用计算机,中学“学生电子阅览室管理制度”
中学"学生电子阅览室管理制度" "电子阅览室"是全校师生通过现代媒体进行探究式学习.主动构建知识的重要场所,为确保软硬件系统的可靠运行,有效地为广大学生服务,创 ...
- 为何要开办《微积分阅览室》?
对每一个现代文明人而言,都需要经过学校教育阶段才能进入社会,才能在社会中生存.总之,社会发展需要教育,而教育的社会成本是很高的.这是常识. 回顾历史,1675年,莱布尼兹发明了无穷小方法(含有逻辑矛盾 ...
- 基于ssm技术的校自助阅览室的设计与实现毕业设计源码242326
SSM校自助阅览室 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对校 ...
- (附源码)ssm+mysql+基于ssm技术的校自助阅览室的设计与实现 毕业设计242326
SSM校自助阅览室 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对校 ...
最新文章
- Django 验证码4.4
- QIIME 2教程. 15样品分类和回归q2-sample-classifier(2020.11)
- loadrunner中的c函数----从参数列表中取参数并与特定字符进行字符串比较。
- php168齐博,php168整站系统(齐博CMS)下载
- 怎么样提高自己的口才
- at for lte
- javaScript = == ===的区别
- 网站SEO优化--Flash站优化方法
- 訪问可能没有定义的data (通过static类型flash.net:FileReference引用)
- 重物码垛搬运机器人_米克力美AGV:工业机器人的应用场景
- php高效率敏感词屏蔽,高效的敏感词过滤方法(PHP)
- Google 研究主管Peter Norvig:你想当程序员么?这里有成功的“食谱”
- .net 简单的后台合成图片
- 117道有关大数据面试题解析,希望对你有所帮助
- 北京轨道交通新机场线“无人驾驶” 最高时速160公里
- 轻松搞定应用启动黑白屏
- 7-6 愿天下有情人都是失散多年的兄妹(25 分)
- adf被打开_ADF格式文件 如何打开ADF文件 ADF是什么格式的文件 用什么打开 - The X Online Tools...
- L5W3作业2 关键字语音识别
- INSERT INTO语句