设计电脑生产类和搬运类

class Computer{
private int num=0;//定义默认电脑数量为零
public synchronized void SetNum(int num){//设置电脑数量
this.num=this.num+num;
try{
Thread.sleep(700);
}catch(InterruptedException e){e.printStackTrace();}
}
public synchronized int getNum(){//返回电脑数量
return num;
}
}
class Product implements Runnable{//生产类
private int i=0;
private Computer com= null;//保存Computer的引用
public Product(Computer com){//通过构造方法设置com属性内容
this.com=com;//初始化this.com属性的初始化
}
public void run(){
while(true){
if(com.getNum()==0){
com.SetNum(1);//生产一台电脑
i++;
System.out.println("生产一台电脑");
System.out.println("以生产"+i+"台电脑");
}
}
}
}
class Handling implements Runnable{//搬运类
private Computer com=null;//保存Computer的引用
public Handling(Computer com){//通过构造方法设置com属性内容
this.com=com;//初始化this.com。属性的初始化
}
public void run(){
while(true){
if(com.getNum()>=1){
com.SetNum(-1);//搬运一台电脑
System.out.println("搬运一台电脑");
}
}
}
}
public class Test9102{
public static void main(String[] args) 
{
Computer com = new Computer();
Product pro=new Product(com);
Handling hand=new Handling(com);
Thread pro1=new Thread(pro);
Thread hand1=new Thread(hand);
pro1.start();
hand1.start();
}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值