下载APP
【简答题】
案例5-10多线程通信 一、案例描述 1、考核知识点 编 号:00105015 名 称:多线程通信 2、练习目标 掌握如何解决线程通信中的共享资源的安全问题 3、需求分析 一条生产线的上下两个工序,它们必须以规定的速率完成各自的工作,才能保证产品在流水线中顺利的流转。在多线程的程序中,上下工序可以看作两个线程,这两个线程之间需要协同完成工作,就需要线程之间进行通信。了让初学者掌握多线程通信,案例中将通过生产和消费鼠标这两个过程的多线程协调来演示。 4、设计思路(实现原理) 1)创建一个产品类Product,该类有三个属性分别是:产品名称name,产品数量count,和一个boolean类型的标示量flag。当flag值为false时,说明产品未生产,当flag值为true时,说明产品已生产。 2)在Product类中编写一个同步方法set(),每次调用set()方法时,表示要生成一个产品。在set()方法中,编写一个while循环,当flag值为true时,调用该线程的wait()方法,让线程等待。在while循环体外,count值递增,并打印当前线程名称和产品名称及数量,最后将flag值设为true,并唤醒所有的线程。 3)在Product类中编写一个同步方法get(),每次调用get()方法时,表示要消费一件产品。在get()方法中,编写一个while循环,当flag值为false时,调用该线程的wait()方法,让线程等待。在循环体外,打印当前线程名称和被消费的产品名称和个数。最后将flag值设为false,并唤醒所有的线程。 4)编写一个生产类Producter,该类定义了一个Product类型的成员变量和有参构造方法,构造方法中的参数用于为Product对象赋值,并且Producter类实现了Runnable接口。 5)重写Runnbale接口的run()方法,在run()方法内,执行死循环,每循环一次调用Product对象的set()方法。 6)编写一个消费类Customer,该类定义了一个Product类型的成员变量和有参构造方法,构造方法中的参数用于为Product对象赋值,并且Customer类实现了Runnable接口。 7)重写Runnable接口的run()方法,在run()方法内,执行死循环,每循环一次就调用producet对象的get()方法。 8)编写一个测试类Example10,创建一个Product对象,生产者和消费者分别利用product对象创建各自的对象,最后使用Thread类创建2个“生产者”线程和2个“消费者”线程,并执行四个线程的start()方法。
题目标签:
构造方法
需求分析
同步方法
举报
如何制作自己的在线小题库
参考答案:
参考解析:
刷刷题刷刷变学霸
举一反三
【简答题】java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
查看完整题目与答案
【单选题】以下不属于性能需求分析的内容的是______。A.数据操作响应时间B.系统吞吐量C.每TPS代价值D.存储需求分析
A.
B.
C.
D.
查看完整题目与答案
【单选题】下列复选框构造方法,错误的是 ( )
A.
setLayout(new GridLayout(3,1));
B.
add(new Checkbox('one',null,true));
C.
add(new Checkbox('two'));
D.
add(new Checkbox('one',true));
查看完整题目与答案
【判断题】只要类中显式地定义一个构造方法,那么Java默认的构造方法不再存在。
A.
正确
B.
错误
查看完整题目与答案
【单选题】FDDI规定了一种很特殊的定时和同步方法,即( )。
A.
曼彻斯特编码
B.
差分曼彻斯特编码
C.
4B/5E编码
D.
以上都不对
查看完整题目与答案
【多选题】需求分析的任务包括哪些()?
A.
完整性约束
B.
了解原系统工作概况
C.
明确用户的各种需求
D.
确定新系统的功能
查看完整题目与答案
【单选题】类的构造方法如果有多余1个的形参,那么实参在( )位置给出。
A.
定义对象时,类名称后面的小括号中给出
B.
对象定义完成后,再给出
查看完整题目与答案
【单选题】使用下列哪个选项可以调用基类中的特定构造方法
A.
final
B.
this
C.
super
D.
static
查看完整题目与答案
【单选题】下面不属于需求分析阶段工作的是()。
A.
可行性研究
B.
需求获取
C.
需求分析
D.
撰写软件需求规格说明书
查看完整题目与答案
【单选题】餐饮企业人力资源培训需求分析方法中,需设计培训需求调查表的方法是()。
A.
观察法
B.
问卷法
C.
面谈法
D.
文件资料法
查看完整题目与答案