Java实用教程第五版第八章_(Java大学实用教程)第八章例题例四

class Bank implements Runnable

{

private int money=0;

Thread zhang,cheng;

Bank()

{

//创建的bank对象是zhang的目标对象,Bank类必须实现Runnable接口。

zhang=new Thread(this);

zhang.setName("会计");

cheng=new Thread(this); //cheng 和zhang是同一目标对象。

cheng.setName("出纳");

}

public void setMoney(int mount)

{

money=mount;

}

public void run() //接口中的方法。

{

while(true)

{

money=money-10;

if(Thread.currentThread()==zhang)

{

System.out.printf("我是%s,现在有%d元\n",zhang.getName(),money);

if(money<=100)

return; //如果money少于50,zhang的run方法结束。

}

else if(Thread.currentThread()==cheng)

{

System.out.printf("我是%s,现在有%d元\n",cheng.getName(),money);

if(money<=0)

return; //如果money少于0,cheng的run方法结束。

}

try{

Thread.sleep(800);

}

catch(InterruptedException e)

{

}

}

}

}

class Example

{

public static void main(String args[ ])

{

Bank bank=new Bank();

bank.setMoney(170); //线程的目标对象设置被线程共享的money。

bank.zhang.start();

bank.cheng.start();

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值