A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© GXM 中级黑马   /  2016-11-2 20:55  /  603 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Test1 {
        public static void main(String[] args) {
                Account acct = new Account();
                Customer c1 = new Customer(acct);
                Customer c2 = new Customer(acct);
                Thread t1 = new Thread(c1, "AA");
                Thread t2 = new Thread(c2, "BB");
                t1.start();
                t2.start();
        }

}

class Account {
        double balance;

        public synchronized void deposite(double amt) throws InterruptedException {
                notify();             //实现通信用通信的方法
                balance += amt;
                System.out.println(Thread.currentThread().getName() + ":余额为" + balance);
                wait();       //实现交互打印
        }

}

class Customer implements Runnable {
        Account account;

        public Customer(Account account) {
                super();
                this.account = account;
        }

        @Override
        public void run() {
                for (int i = 0; i < 3; i++) {

                        try {
                                account.deposite(1000);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马