实验一 进程的同步和互斥 实验目的:通过编写程序实现进程的同步和互斥,使学生学会分析分析进程(线程)竞争资源现象,学习通过信号量解决进程互斥的方法。 实验原理:利用信号量机制解决进程(线程)的基本方法。 实验仪器:计算机一台。 实验安排:利用Java语言中的多线程模拟生成者、消费者问题,给出测试数据,记录程序运行结果,完成实验报告。 实验要求: (1)设置存放产品的缓冲区的个数为6个。 (2)信号量机制实现生产者和消费者对缓冲区的互斥访问。 (3)生产者生产产品时,要输出当前缓冲区冲产品的个数和存放产品的位置。 (4)消费者消费产品时,要输出当前缓冲区冲产品的个数和消费产品的位置。 (5)用多线程的并发实现生产者进程和消费者进程的同步。 实验报告要求: (1)实验报告中要包含完成此题目所查阅的一些关键技术材料,例如,进程的同步和互斥基本概念,信号量解决互斥的基本方法等。; (2)报告中有实现的关键技术点源代码,源代码书写要有一定的规范,源代码中有相关的注释; (3)作为扩展,有余力的同学,能在界面上能够定时给出可视化展示生产者和消费者问题,动态演示进程的同步和互斥过程。 (4)实验结果要附上运行结果的截图,并相关文字对实验结果进行说明。 (5)写出实验的体会与疑问。
在Windows等操作系统下,使用的VC、VB、java或C等编程语言,采用进程(线程)同步和互斥的技术编写程序实现生产者-消费者问题或哲学家进餐问题或读者-写者问题或自己设计一个简单进程(线程)同步和互斥的实际问题。
2021-05-29 22:37:05 1.88MB c++ 读者-写者 内含流程图
1