实验内容
实验二 编程实现进程(线程)同步和互斥
1.实验的目的
(1)通过编写程序实现进程同步和互斥,使学生掌握有关进程(线程)同步与互斥的原理,以及解决进程(线程)同步和互斥的算法,从而进一步巩固进程(线程)同步和互斥等有关的内容。
(2)了解Windows系统中多线程的并发执行机制,线程间的同步和互斥。
(3)学习使用Windows系统中基本的同步对象,掌握相应的API函数。
(4)掌握进程和线程的概念,进程(线程)的控制原语或系统调用的使用。
(5)掌握多道程序设计的基本理论、方法和技术,培养学生多道程序设计的能力。
2.实验内容
在Windows等操作系统下,使用的VC、VB、java、C/C++、Python等编程语言,采用进程(线程)同步和互斥的技术编写程序实现生产者-消费者问题或哲学家进餐问题或读者-写者问题或自己设计一个简单进程(线程)同步和互斥的实际问题。
3.实验要求
(1)经调试后程序能够正常运行。
(2)采用多进程或多线程方式运行,体现了进程(线程)同步和互斥的关系。
(3)程序界面美观。
4.实验步骤
(1)需求分析:了解基本原理,确定程序的基本功能,查找相关资料,画出基本的数据流图;
(2)概要设计:确定程序的总体结构、模块关系和总体流程;
(3)详细设计:确定模块内部的流程和实现算法;
(4)上机编码和调试;
(5)运行测试;
(6)编写实验报告。
5.实验报告要求
格式符合《实验报告格式》书;书写规范,排版美观,有较强的文字表达能力,能够正确地表达自己的思想,图表符合规范。
6.实验说明
本实验分两次进行,每次要求填写一份实验报告,报告中的实验名分别为:编程实现进程同步和互斥,其他内容依据实验进度具体填写。
预览
代码
os-lab-2-threading-lock: 操作系统:实验二 编程实现进程(线程)同步和互斥