生产电脑|学习笔记

开发者学堂课程【Java 高级编程生产电脑 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20/detail/300


生产电脑 


多线程案例分析二

 

题目:设计一个生产电脑和搬运电脑类,要求生产出一台电脑就搬走一台电脑,如果没有新的电脑生产出来,则搬运工要等待新电脑产出,如果生产出的电脑没有搬走,则要等待电脑搬走之后再生产,并统计出生产的电脑数量。

 

在本程序之中实现的就是一个标准的生产者与消费者的处理模型,实现操作的代码如下:

package cn.mldn.demo;

class Producer implements Runnable {

private Resource resource;

public Producer (Resource resource) {

this.resource = resource ;

public void run(){

class Resource{

private Computer computer ;

public synchronized void make() throws Exception{if (this.computer !=null){//已经生产过了

super.wait();

this.computer=newComputer("MLDN牌电脑,",1.1);

super.notifyAll();

public synchronized void get() throws Exception {

if (this.computer == null)  {//没有生产过

super.wait();

System.out.println(this. computer);

private Resource resource ;

public Consumer ( Resource resource)  {

this.resource = resource ;

public voidrun() {

for(int x = 0 ;x< 50;x++)  {

try  {

this.resource.get();

catch (Exception e)  {

e.printStackTrace( );

class Resource

private Computer computer ;

publicsynchronized void make() throws Exception {if (this. computer != null) {//已经生产过了

super.wait( );

Thread.sleep(100);

this.computer=newComputer("MLDN牌电脑",1.1) ;

System.out.print1n("生产" + this. computer);

super.notifyAll();

public synchronized void get() throws Exception {

if (this. computer == null) (//没有生产过

super .wait();

Thread.sleep(10);

System.out.println("生产电脑" + this. computer);this. computer = null ; //已经取走了super.notifyAll();

上一篇:《妥协的完美主义:优秀产品经理的实践指南(卷二)》一2.5 产品设计团队能力要求


下一篇:一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)