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