基于Java+Python+html的生产者与消费者算法模拟

目录
摘 要 IV
1 问题描述 1
2 需求分析 2
3 概要设计 3
3.1 思路方法 3
3.2 程序流程图 3
4 详细设计 5
4.1 数据结构 5
4.2 生产者/消费者模式与进程通信 5
4.3 生产者进程详细设计 6
4.4 消费者进程详细设计 7
5 调试分析 8
6 用户手册 9
6.1 使用环境 9
6.2 操作要求与流程 9
7 测试结果 10
7.1 序列1的测试 10
7.2 序列4的测试 12
7.3 序列7的测试 13
7.4 其余序列的测试 15
7.5 HTML页面样例 16
8 设计体会 17
参考文献 18
5调试分析
(1)在阻塞队列中,对于统计的数字一直无法正确获得和输出,网络上也没有针对阻塞队列统计这方面的资料和解决方法,最后我通过线程的休眠和take方法的赋值以及对象的回溯来完成在BlockingQueue中对各个对象sum的统计。
(2)在完善全局随机的过程中,由于随机的性质,会导致对象锁的不确定性,一时间无法很快的为该线程正确的加锁和抢占资源,但我最后通过使用synchronized修饰符对生产者的生产方法进行手动加锁,本文转载自http://www.biyezuopin.vip/onews.asp?id=15269并通过循环list的方式完成确定化抢占任务。最后通过随机赋值生产与消费的周期和对个数的随机,完成了全局的随机。
6用户手册
6.1 使用环境
Idea+Anaconda(PyCharm或Jupyter Notebook),可自行选择使用Html
6.2 操作要求与流程
对于Java部分,要求在Idea中导入Jxl第三方Jar包运行。
对于Python部分,要求导入相应包,注意此处的文件路径以设为绝对路径。
同时,如使用py2.py文件绘制散点图时,应将代码中的部分注释部分解除。即在Staging_Area类的consume ()方法和test类中解除对应的注释,代码中有标注。
具体的操作流程如下:
Step1:在Idea中完执行完Java程序,之后在本目录下产生有Excel文件。
Step2: Excel数据经由Python处理执行(此处可以选择PyCharm或Jupyter Notebook),生成对应的图像,可以显示在对应的Html页面中。




	
		
		生产者消费者介绍
		
	
	
		
		

生产者与消费者模拟

    设计一程序,由一个进程创建三个子进程,三个子进程一个是生产者进程,两个是消费者进程

    要求1:父子进程都使用父进程创建的共享存储区进行通信,由生产者进程将一个数组中的十个数值发送到由5个缓冲区组成的共享内存中。

    要求2:两个消费者进程轮流接收并输出这十个数值,同时将两个消费者进程读出的数值进行累加求各和。

    要求3:考虑生产者进程生产的速度和消费者进程速度。


Author

胡太长

示意图



博客1

博客2


基于Java+Python+html的生产者与消费者算法模拟_第1张图片
基于Java+Python+html的生产者与消费者算法模拟_第2张图片
基于Java+Python+html的生产者与消费者算法模拟_第3张图片
基于Java+Python+html的生产者与消费者算法模拟_第4张图片
基于Java+Python+html的生产者与消费者算法模拟_第5张图片
基于Java+Python+html的生产者与消费者算法模拟_第6张图片
基于Java+Python+html的生产者与消费者算法模拟_第7张图片
基于Java+Python+html的生产者与消费者算法模拟_第8张图片
基于Java+Python+html的生产者与消费者算法模拟_第9张图片
基于Java+Python+html的生产者与消费者算法模拟_第10张图片
基于Java+Python+html的生产者与消费者算法模拟_第11张图片
基于Java+Python+html的生产者与消费者算法模拟_第12张图片
基于Java+Python+html的生产者与消费者算法模拟_第13张图片
基于Java+Python+html的生产者与消费者算法模拟_第14张图片

你可能感兴趣的:(python,java,html,生产者与消费者,算法模拟)