import java.util.Scanner;
public class Bank implements Runnable {
Acount acount;
public Bank(Acount a) -->这个构造方法的含义?
{
this.acount=a;
}
public void run()
{
Scanner input=new Scanner(System.in); System.out.println("请输入你的存款:"); int temp=input.nextInt(); acount.setMoney(temp); }
}
import java.util.Scanner;
public class Customer implements Runnable {
Acount Acount;
public Customer(Acount Acount){ -->这个构造方法的含义?
this.Acount=Acount;
}
public void run()
{
System.out.println("请输入你的取款金额:");
Scanner input=new Scanner(System.in);
int temp=input.nextInt();
Acount.getMoney(temp);
}
}
public class Acount {
private int money;
public Acount(int money){
this.money=money;
}
Bank b=new Bank(this); -->this指的是什么?
public synchronized void getMoney(int money)
{
while(this.money<money)
{
System.out.println("取款:"+money+" 余额:"+this.money+" 余额不足,正在等待存款......");
//当余额不足时 取款线程处于等待状态
try { Thread t2=new Thread(b); t2.start(); wait(); } catch (Exception e) { // TODO: handle exception } } this.money=this.money-money; System.out.println("取出:"+money+" 还剩余:"+this.money); } public synchronized void setMoney(int money) { this.money=this.money+money; System.out.println("新存入:"+money+" 共计:"+this.money); //将取款线程唤醒 notify(); } public static void main(String args[]) { Acount Acount=new Acount(0); Customer c=new Customer(Acount); new Thread(c).start(); }
}
弑天下
相关分类