第四周作业-多线程编程

来源:互联网 发布:mac pro 强制关闭程序 编辑:程序博客网 时间:2024/05/22 06:09


public class BankAccount {private static int amount = 2000;public void despoit(int m){amount = amount + m;System.out.println("小明存入["+ m +"元]");}public void withdraw (int m){amount = amount - m;System.out.println("张新取走["+ m +"元]");if(amount < 0)System.out.println("***余额不足!***");}public int balance(){return amount;}}class Customer extends Thread{String name;BankAccount bs;public Customer(BankAccount b,String s){name = s;bs = b;}public synchronized static void cus(String name,BankAccount bs){if(name.equals("小明")){try{for(int i = 0;i < 6;i ++ ){Thread.currentThread().sleep((int)(Math.random()*300));bs.despoit(1000);}}catch(InterruptedException e){}}else{try{for(int i = 0;i < 6;i ++){Thread.currentThread().sleep((int)(Math.random()*300));bs.withdraw(1000);}}catch(InterruptedException e){}}}public void run(){cus(name,bs);}}public class AccountTest1{public static void main(String args[])throws InterruptedException{BankAccount bs = new BankAccount();Customer customer1 = new Customer(bs,"小明");Customer customer2 = new Customer(bs,"张新");Thread t1 = new Thread (customer1);Thread t2 = new Thread (customer2);t1.start();t2.start();Thread.currentThread().sleep(500);}}

运行结果:



0 0
原创粉丝点击