71

来源:互联网 发布:汇佳软件 编辑:程序博客网 时间:2024/04/27 21:15
package com.haizhitao.thread;public class FetchMoney{public static void main(String[] args){Bank bank = new Bank();MyThread3 t1 = new MyThread3(bank);MyThread3 t2 = new MyThread3(bank);t1.start();t2.start();}}class Bank{private int money = 1000;public int getMoney(int number){if(number < 0)return -1;else if(number > money)return -2;else if(money < 0)return -3;else{try{Thread.sleep(1000);}catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}money = money - number;System.out.println("left money: " + money);return number;}}}class MyThread3 extends Thread{private Bank bank;public MyThread3(Bank bank){this.bank = bank;}@Overridepublic void run(){System.out.println(bank.getMoney(800));}}//output://left money: 200//800//left money: -600//800package com.haizhitao.thread;public class FetchMoney{public static void main(String[] args){Bank bank = new Bank();MyThread3 t1 = new MyThread3(bank);MyThread3 t2 = new MyThread3(bank);t1.start();t2.start();}}class Bank{private int money = 1000;public synchronized int getMoney(int number){if(number < 0)return -1;else if(number > money)return -2;else if(money < 0)return -3;else{try{Thread.sleep(1000);}catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}money = money - number;System.out.println("left money: " + money);return number;}}}class MyThread3 extends Thread{private Bank bank;public MyThread3(Bank bank){this.bank = bank;}@Overridepublic void run(){System.out.println(bank.getMoney(800));}}//output://left money: 200//800//-2

原创粉丝点击