java多线程(四)

一个例子:

Account.java 客户实体类

 package com.asiainfo.test.thread8;
/**
* 账户类
* @author luke
*
*/
public class Account {
private String accNo;//账户编号
private double balance;//账户余额
private boolean flag = false;// 标识账户中是否已有存款 //构造方法,同时设账户编号和账户余额
public Account (String accountNo,double balance) {
this.accNo = accountNo;
this.balance = balance;
} public String getAccNo() {
return accNo;
}
public void setAccNo(String accNo) {
this.accNo = accNo;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
} /**
* 存钱
* @param depositAmout
* @param i
*/
public synchronized void deposit(double depositAmout,int i){
if(flag){
try {
System.out.println(Thread.currentThread().getName() + "开始执行wati操作" + " 执行了wait操作" + "-- i =" + i);
wait();
System.out.println(Thread.currentThread().getName() + "执行了wait操作" + " 执行了wait操作" + "-- i =" + i);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
System.out.println(Thread.currentThread().getName() + " 存款:" + depositAmout + " -- i=" + i);
this.setBalance(balance + depositAmout);
flag = true;
//唤醒其他线程
notifyAll();
System.out.println(Thread.currentThread().getName() + "-- 存钱 -- 执行完毕" + " -- i=" + i);
}
} /**
* 取钱
* @param drawAmount
* @param i
*/
public synchronized void draw(double drawAmount,int i){
if(!flag){
try {
System.out.println(Thread.currentThread().getName() + " 开始要执行wait操作" + " 执行了wait操作" + " -- i=" + i);
wait();
System.out.println(Thread.currentThread().getName() + " 执行了wait操作" + " 执行了wait操作" + " -- i=" + i);
} catch (InterruptedException e) {
e.printStackTrace();
} } else {
System.out.println(Thread.currentThread().getName() + " 取钱:" + drawAmount + " -- i=" + i);
this.setBalance(balance - drawAmount);
flag = false;
//唤醒其他线程
notifyAll();
System.out.println(Thread.currentThread().getName() + "-- 取钱 -- 执行完毕" + " -- i=" + i); //
} } }

DepositeMoneyThread.java  存钱线程

 package com.asiainfo.test.thread8;

 /**
* 存款线程
* @author hasee
*
*/
public class DepositeMoneyThread extends Thread {
private Account account;
private double amount; public DepositeMoneyThread(String threadName, Account account, double amount) {
super(threadName);
this.account = account;
this.amount = amount;
}
public void run() {
for (int i = 0; i < 100; i++) {
account.deposit(amount, i);
}
System.out.println(account.getBalance());
}
}

DrawMoneyThread.java  取钱线程

 package com.asiainfo.test.thread8;

 /**
* 取现线程
* @author luke
*
*/
public class DrawMoneyThread extends Thread {
private Account account;
private double amount; public DrawMoneyThread(String threadName, Account account, double amount) {
super(threadName);
this.account = account;
this.amount = amount;
} public void run() {
for (int i = 0; i < 100; i++) {
if(account.getBalance()>= amount){
account.draw(amount, i);
}
}
} }

ThreadTest.java 测试类

 package com.asiainfo.test.thread8;

 /**
* 测试类
* @author luke
*
*/
public class ThreadTest {
public static void main(String[] args) {
Account account = new Account("001",1000); Thread thread1 = new DrawMoneyThread("取钱线程",account,700);
Thread thread2 = new DepositeMoneyThread("存钱线程",account,700);
thread1.start();
thread2.start(); }
}

测试结果:

取钱线程 开始要执行wait操作 执行了wait操作 -- i=0
存钱线程 存款:700.0 -- i=0
存钱线程-- 存钱 -- 执行完毕 -- i=0
存钱线程开始执行wati操作 执行了wait操作-- i =1
取钱线程 执行了wait操作 执行了wait操作 -- i=0
取钱线程 取钱:700.0 -- i=1
取钱线程-- 取钱 -- 执行完毕 -- i=1
取钱线程 开始要执行wait操作 执行了wait操作 -- i=2
存钱线程执行了wait操作 执行了wait操作-- i =1
存钱线程 存款:700.0 -- i=2
存钱线程-- 存钱 -- 执行完毕 -- i=2
存钱线程开始执行wati操作 执行了wait操作-- i =3
取钱线程 执行了wait操作 执行了wait操作 -- i=2
取钱线程 取钱:700.0 -- i=3
取钱线程-- 取钱 -- 执行完毕 -- i=3
取钱线程 开始要执行wait操作 执行了wait操作 -- i=4
存钱线程执行了wait操作 执行了wait操作-- i =3
存钱线程 存款:700.0 -- i=4
存钱线程-- 存钱 -- 执行完毕 -- i=4
存钱线程开始执行wati操作 执行了wait操作-- i =5
取钱线程 执行了wait操作 执行了wait操作 -- i=4
取钱线程 取钱:700.0 -- i=5
取钱线程-- 取钱 -- 执行完毕 -- i=5
取钱线程 开始要执行wait操作 执行了wait操作 -- i=6
存钱线程执行了wait操作 执行了wait操作-- i =5
存钱线程 存款:700.0 -- i=6
存钱线程-- 存钱 -- 执行完毕 -- i=6
存钱线程开始执行wati操作 执行了wait操作-- i =7
取钱线程 执行了wait操作 执行了wait操作 -- i=6
取钱线程 取钱:700.0 -- i=7
取钱线程-- 取钱 -- 执行完毕 -- i=7
取钱线程 开始要执行wait操作 执行了wait操作 -- i=8
存钱线程执行了wait操作 执行了wait操作-- i =7
存钱线程 存款:700.0 -- i=8
存钱线程-- 存钱 -- 执行完毕 -- i=8
存钱线程开始执行wati操作 执行了wait操作-- i =9
取钱线程 执行了wait操作 执行了wait操作 -- i=8
取钱线程 取钱:700.0 -- i=9
取钱线程-- 取钱 -- 执行完毕 -- i=9
取钱线程 开始要执行wait操作 执行了wait操作 -- i=10
存钱线程执行了wait操作 执行了wait操作-- i =9
存钱线程 存款:700.0 -- i=10
存钱线程-- 存钱 -- 执行完毕 -- i=10
存钱线程开始执行wati操作 执行了wait操作-- i =11
取钱线程 执行了wait操作 执行了wait操作 -- i=10
取钱线程 取钱:700.0 -- i=11
取钱线程-- 取钱 -- 执行完毕 -- i=11
取钱线程 开始要执行wait操作 执行了wait操作 -- i=12
存钱线程执行了wait操作 执行了wait操作-- i =11
存钱线程 存款:700.0 -- i=12
存钱线程-- 存钱 -- 执行完毕 -- i=12
存钱线程开始执行wati操作 执行了wait操作-- i =13
取钱线程 执行了wait操作 执行了wait操作 -- i=12
取钱线程 取钱:700.0 -- i=13
取钱线程-- 取钱 -- 执行完毕 -- i=13
取钱线程 开始要执行wait操作 执行了wait操作 -- i=14
存钱线程执行了wait操作 执行了wait操作-- i =13
存钱线程 存款:700.0 -- i=14
存钱线程-- 存钱 -- 执行完毕 -- i=14
存钱线程开始执行wati操作 执行了wait操作-- i =15
取钱线程 执行了wait操作 执行了wait操作 -- i=14
取钱线程 取钱:700.0 -- i=15
取钱线程-- 取钱 -- 执行完毕 -- i=15
取钱线程 开始要执行wait操作 执行了wait操作 -- i=16
存钱线程执行了wait操作 执行了wait操作-- i =15
存钱线程 存款:700.0 -- i=16
存钱线程-- 存钱 -- 执行完毕 -- i=16
存钱线程开始执行wati操作 执行了wait操作-- i =17
取钱线程 执行了wait操作 执行了wait操作 -- i=16
取钱线程 取钱:700.0 -- i=17
取钱线程-- 取钱 -- 执行完毕 -- i=17
取钱线程 开始要执行wait操作 执行了wait操作 -- i=18
存钱线程执行了wait操作 执行了wait操作-- i =17
存钱线程 存款:700.0 -- i=18
存钱线程-- 存钱 -- 执行完毕 -- i=18
存钱线程开始执行wati操作 执行了wait操作-- i =19
取钱线程 执行了wait操作 执行了wait操作 -- i=18
取钱线程 取钱:700.0 -- i=19
取钱线程-- 取钱 -- 执行完毕 -- i=19
取钱线程 开始要执行wait操作 执行了wait操作 -- i=20
存钱线程执行了wait操作 执行了wait操作-- i =19
存钱线程 存款:700.0 -- i=20
存钱线程-- 存钱 -- 执行完毕 -- i=20
存钱线程开始执行wati操作 执行了wait操作-- i =21
取钱线程 执行了wait操作 执行了wait操作 -- i=20
取钱线程 取钱:700.0 -- i=21
取钱线程-- 取钱 -- 执行完毕 -- i=21
取钱线程 开始要执行wait操作 执行了wait操作 -- i=22
存钱线程执行了wait操作 执行了wait操作-- i =21
存钱线程 存款:700.0 -- i=22
存钱线程-- 存钱 -- 执行完毕 -- i=22
存钱线程开始执行wati操作 执行了wait操作-- i =23
取钱线程 执行了wait操作 执行了wait操作 -- i=22
取钱线程 取钱:700.0 -- i=23
取钱线程-- 取钱 -- 执行完毕 -- i=23
取钱线程 开始要执行wait操作 执行了wait操作 -- i=24
存钱线程执行了wait操作 执行了wait操作-- i =23
存钱线程 存款:700.0 -- i=24
存钱线程-- 存钱 -- 执行完毕 -- i=24
存钱线程开始执行wati操作 执行了wait操作-- i =25
取钱线程 执行了wait操作 执行了wait操作 -- i=24
取钱线程 取钱:700.0 -- i=25
取钱线程-- 取钱 -- 执行完毕 -- i=25
取钱线程 开始要执行wait操作 执行了wait操作 -- i=26
存钱线程执行了wait操作 执行了wait操作-- i =25
存钱线程 存款:700.0 -- i=26
存钱线程-- 存钱 -- 执行完毕 -- i=26
存钱线程开始执行wati操作 执行了wait操作-- i =27
取钱线程 执行了wait操作 执行了wait操作 -- i=26
取钱线程 取钱:700.0 -- i=27
取钱线程-- 取钱 -- 执行完毕 -- i=27
取钱线程 开始要执行wait操作 执行了wait操作 -- i=28
存钱线程执行了wait操作 执行了wait操作-- i =27
存钱线程 存款:700.0 -- i=28
存钱线程-- 存钱 -- 执行完毕 -- i=28
存钱线程开始执行wati操作 执行了wait操作-- i =29
取钱线程 执行了wait操作 执行了wait操作 -- i=28
取钱线程 取钱:700.0 -- i=29
取钱线程-- 取钱 -- 执行完毕 -- i=29
取钱线程 开始要执行wait操作 执行了wait操作 -- i=30
存钱线程执行了wait操作 执行了wait操作-- i =29
存钱线程 存款:700.0 -- i=30
存钱线程-- 存钱 -- 执行完毕 -- i=30
存钱线程开始执行wati操作 执行了wait操作-- i =31
取钱线程 执行了wait操作 执行了wait操作 -- i=30
取钱线程 取钱:700.0 -- i=31
取钱线程-- 取钱 -- 执行完毕 -- i=31
取钱线程 开始要执行wait操作 执行了wait操作 -- i=32
存钱线程执行了wait操作 执行了wait操作-- i =31
存钱线程 存款:700.0 -- i=32
存钱线程-- 存钱 -- 执行完毕 -- i=32
存钱线程开始执行wati操作 执行了wait操作-- i =33
取钱线程 执行了wait操作 执行了wait操作 -- i=32
取钱线程 取钱:700.0 -- i=33
取钱线程-- 取钱 -- 执行完毕 -- i=33
取钱线程 开始要执行wait操作 执行了wait操作 -- i=34
存钱线程执行了wait操作 执行了wait操作-- i =33
存钱线程 存款:700.0 -- i=34
存钱线程-- 存钱 -- 执行完毕 -- i=34
存钱线程开始执行wati操作 执行了wait操作-- i =35
取钱线程 执行了wait操作 执行了wait操作 -- i=34
取钱线程 取钱:700.0 -- i=35
取钱线程-- 取钱 -- 执行完毕 -- i=35
取钱线程 开始要执行wait操作 执行了wait操作 -- i=36
存钱线程执行了wait操作 执行了wait操作-- i =35
存钱线程 存款:700.0 -- i=36
存钱线程-- 存钱 -- 执行完毕 -- i=36
存钱线程开始执行wati操作 执行了wait操作-- i =37
取钱线程 执行了wait操作 执行了wait操作 -- i=36
取钱线程 取钱:700.0 -- i=37
取钱线程-- 取钱 -- 执行完毕 -- i=37
取钱线程 开始要执行wait操作 执行了wait操作 -- i=38
存钱线程执行了wait操作 执行了wait操作-- i =37
存钱线程 存款:700.0 -- i=38
存钱线程-- 存钱 -- 执行完毕 -- i=38
存钱线程开始执行wati操作 执行了wait操作-- i =39
取钱线程 执行了wait操作 执行了wait操作 -- i=38
取钱线程 取钱:700.0 -- i=39
取钱线程-- 取钱 -- 执行完毕 -- i=39
取钱线程 开始要执行wait操作 执行了wait操作 -- i=40
存钱线程执行了wait操作 执行了wait操作-- i =39
存钱线程 存款:700.0 -- i=40
存钱线程-- 存钱 -- 执行完毕 -- i=40
存钱线程开始执行wati操作 执行了wait操作-- i =41
取钱线程 执行了wait操作 执行了wait操作 -- i=40
取钱线程 取钱:700.0 -- i=41
取钱线程-- 取钱 -- 执行完毕 -- i=41
取钱线程 开始要执行wait操作 执行了wait操作 -- i=42
存钱线程执行了wait操作 执行了wait操作-- i =41
存钱线程 存款:700.0 -- i=42
存钱线程-- 存钱 -- 执行完毕 -- i=42
存钱线程开始执行wati操作 执行了wait操作-- i =43
取钱线程 执行了wait操作 执行了wait操作 -- i=42
取钱线程 取钱:700.0 -- i=43
取钱线程-- 取钱 -- 执行完毕 -- i=43
取钱线程 开始要执行wait操作 执行了wait操作 -- i=44
存钱线程执行了wait操作 执行了wait操作-- i =43
存钱线程 存款:700.0 -- i=44
存钱线程-- 存钱 -- 执行完毕 -- i=44
存钱线程开始执行wati操作 执行了wait操作-- i =45
取钱线程 执行了wait操作 执行了wait操作 -- i=44
取钱线程 取钱:700.0 -- i=45
取钱线程-- 取钱 -- 执行完毕 -- i=45
取钱线程 开始要执行wait操作 执行了wait操作 -- i=46
存钱线程执行了wait操作 执行了wait操作-- i =45
存钱线程 存款:700.0 -- i=46
存钱线程-- 存钱 -- 执行完毕 -- i=46
存钱线程开始执行wati操作 执行了wait操作-- i =47
取钱线程 执行了wait操作 执行了wait操作 -- i=46
取钱线程 取钱:700.0 -- i=47
取钱线程-- 取钱 -- 执行完毕 -- i=47
取钱线程 开始要执行wait操作 执行了wait操作 -- i=48
存钱线程执行了wait操作 执行了wait操作-- i =47
存钱线程 存款:700.0 -- i=48
存钱线程-- 存钱 -- 执行完毕 -- i=48
存钱线程开始执行wati操作 执行了wait操作-- i =49
取钱线程 执行了wait操作 执行了wait操作 -- i=48
取钱线程 取钱:700.0 -- i=49
取钱线程-- 取钱 -- 执行完毕 -- i=49
取钱线程 开始要执行wait操作 执行了wait操作 -- i=50
存钱线程执行了wait操作 执行了wait操作-- i =49
存钱线程 存款:700.0 -- i=50
存钱线程-- 存钱 -- 执行完毕 -- i=50
存钱线程开始执行wati操作 执行了wait操作-- i =51
取钱线程 执行了wait操作 执行了wait操作 -- i=50
取钱线程 取钱:700.0 -- i=51
取钱线程-- 取钱 -- 执行完毕 -- i=51
取钱线程 开始要执行wait操作 执行了wait操作 -- i=52
存钱线程执行了wait操作 执行了wait操作-- i =51
存钱线程 存款:700.0 -- i=52
存钱线程-- 存钱 -- 执行完毕 -- i=52
存钱线程开始执行wati操作 执行了wait操作-- i =53
取钱线程 执行了wait操作 执行了wait操作 -- i=52
取钱线程 取钱:700.0 -- i=53
取钱线程-- 取钱 -- 执行完毕 -- i=53
取钱线程 开始要执行wait操作 执行了wait操作 -- i=54
存钱线程执行了wait操作 执行了wait操作-- i =53
存钱线程 存款:700.0 -- i=54
存钱线程-- 存钱 -- 执行完毕 -- i=54
存钱线程开始执行wati操作 执行了wait操作-- i =55
取钱线程 执行了wait操作 执行了wait操作 -- i=54
取钱线程 取钱:700.0 -- i=55
取钱线程-- 取钱 -- 执行完毕 -- i=55
取钱线程 开始要执行wait操作 执行了wait操作 -- i=56
存钱线程执行了wait操作 执行了wait操作-- i =55
存钱线程 存款:700.0 -- i=56
存钱线程-- 存钱 -- 执行完毕 -- i=56
存钱线程开始执行wati操作 执行了wait操作-- i =57
取钱线程 执行了wait操作 执行了wait操作 -- i=56
取钱线程 取钱:700.0 -- i=57
取钱线程-- 取钱 -- 执行完毕 -- i=57
取钱线程 开始要执行wait操作 执行了wait操作 -- i=58
存钱线程执行了wait操作 执行了wait操作-- i =57
存钱线程 存款:700.0 -- i=58
存钱线程-- 存钱 -- 执行完毕 -- i=58
存钱线程开始执行wati操作 执行了wait操作-- i =59
取钱线程 执行了wait操作 执行了wait操作 -- i=58
取钱线程 取钱:700.0 -- i=59
取钱线程-- 取钱 -- 执行完毕 -- i=59
取钱线程 开始要执行wait操作 执行了wait操作 -- i=60
存钱线程执行了wait操作 执行了wait操作-- i =59
存钱线程 存款:700.0 -- i=60
存钱线程-- 存钱 -- 执行完毕 -- i=60
存钱线程开始执行wati操作 执行了wait操作-- i =61
取钱线程 执行了wait操作 执行了wait操作 -- i=60
取钱线程 取钱:700.0 -- i=61
取钱线程-- 取钱 -- 执行完毕 -- i=61
取钱线程 开始要执行wait操作 执行了wait操作 -- i=62
存钱线程执行了wait操作 执行了wait操作-- i =61
存钱线程 存款:700.0 -- i=62
存钱线程-- 存钱 -- 执行完毕 -- i=62
存钱线程开始执行wati操作 执行了wait操作-- i =63
取钱线程 执行了wait操作 执行了wait操作 -- i=62
取钱线程 取钱:700.0 -- i=63
取钱线程-- 取钱 -- 执行完毕 -- i=63
取钱线程 开始要执行wait操作 执行了wait操作 -- i=64
存钱线程执行了wait操作 执行了wait操作-- i =63
存钱线程 存款:700.0 -- i=64
存钱线程-- 存钱 -- 执行完毕 -- i=64
存钱线程开始执行wati操作 执行了wait操作-- i =65
取钱线程 执行了wait操作 执行了wait操作 -- i=64
取钱线程 取钱:700.0 -- i=65
取钱线程-- 取钱 -- 执行完毕 -- i=65
取钱线程 开始要执行wait操作 执行了wait操作 -- i=66
存钱线程执行了wait操作 执行了wait操作-- i =65
存钱线程 存款:700.0 -- i=66
存钱线程-- 存钱 -- 执行完毕 -- i=66
存钱线程开始执行wati操作 执行了wait操作-- i =67
取钱线程 执行了wait操作 执行了wait操作 -- i=66
取钱线程 取钱:700.0 -- i=67
取钱线程-- 取钱 -- 执行完毕 -- i=67
取钱线程 开始要执行wait操作 执行了wait操作 -- i=68
存钱线程执行了wait操作 执行了wait操作-- i =67
存钱线程 存款:700.0 -- i=68
存钱线程-- 存钱 -- 执行完毕 -- i=68
存钱线程开始执行wati操作 执行了wait操作-- i =69
取钱线程 执行了wait操作 执行了wait操作 -- i=68
取钱线程 取钱:700.0 -- i=69
取钱线程-- 取钱 -- 执行完毕 -- i=69
取钱线程 开始要执行wait操作 执行了wait操作 -- i=70
存钱线程执行了wait操作 执行了wait操作-- i =69
存钱线程 存款:700.0 -- i=70
存钱线程-- 存钱 -- 执行完毕 -- i=70
存钱线程开始执行wati操作 执行了wait操作-- i =71
取钱线程 执行了wait操作 执行了wait操作 -- i=70
取钱线程 取钱:700.0 -- i=71
取钱线程-- 取钱 -- 执行完毕 -- i=71
取钱线程 开始要执行wait操作 执行了wait操作 -- i=72
存钱线程执行了wait操作 执行了wait操作-- i =71
存钱线程 存款:700.0 -- i=72
存钱线程-- 存钱 -- 执行完毕 -- i=72
存钱线程开始执行wati操作 执行了wait操作-- i =73
取钱线程 执行了wait操作 执行了wait操作 -- i=72
取钱线程 取钱:700.0 -- i=73
取钱线程-- 取钱 -- 执行完毕 -- i=73
取钱线程 开始要执行wait操作 执行了wait操作 -- i=74
存钱线程执行了wait操作 执行了wait操作-- i =73
存钱线程 存款:700.0 -- i=74
存钱线程-- 存钱 -- 执行完毕 -- i=74
存钱线程开始执行wati操作 执行了wait操作-- i =75
取钱线程 执行了wait操作 执行了wait操作 -- i=74
取钱线程 取钱:700.0 -- i=75
取钱线程-- 取钱 -- 执行完毕 -- i=75
取钱线程 开始要执行wait操作 执行了wait操作 -- i=76
存钱线程执行了wait操作 执行了wait操作-- i =75
存钱线程 存款:700.0 -- i=76
存钱线程-- 存钱 -- 执行完毕 -- i=76
存钱线程开始执行wati操作 执行了wait操作-- i =77
取钱线程 执行了wait操作 执行了wait操作 -- i=76
取钱线程 取钱:700.0 -- i=77
取钱线程-- 取钱 -- 执行完毕 -- i=77
取钱线程 开始要执行wait操作 执行了wait操作 -- i=78
存钱线程执行了wait操作 执行了wait操作-- i =77
存钱线程 存款:700.0 -- i=78
存钱线程-- 存钱 -- 执行完毕 -- i=78
存钱线程开始执行wati操作 执行了wait操作-- i =79
取钱线程 执行了wait操作 执行了wait操作 -- i=78
取钱线程 取钱:700.0 -- i=79
取钱线程-- 取钱 -- 执行完毕 -- i=79
取钱线程 开始要执行wait操作 执行了wait操作 -- i=80
存钱线程执行了wait操作 执行了wait操作-- i =79
存钱线程 存款:700.0 -- i=80
存钱线程-- 存钱 -- 执行完毕 -- i=80
存钱线程开始执行wati操作 执行了wait操作-- i =81
取钱线程 执行了wait操作 执行了wait操作 -- i=80
取钱线程 取钱:700.0 -- i=81
取钱线程-- 取钱 -- 执行完毕 -- i=81
取钱线程 开始要执行wait操作 执行了wait操作 -- i=82
存钱线程执行了wait操作 执行了wait操作-- i =81
存钱线程 存款:700.0 -- i=82
存钱线程-- 存钱 -- 执行完毕 -- i=82
存钱线程开始执行wati操作 执行了wait操作-- i =83
取钱线程 执行了wait操作 执行了wait操作 -- i=82
取钱线程 取钱:700.0 -- i=83
取钱线程-- 取钱 -- 执行完毕 -- i=83
取钱线程 开始要执行wait操作 执行了wait操作 -- i=84
存钱线程执行了wait操作 执行了wait操作-- i =83
存钱线程 存款:700.0 -- i=84
存钱线程-- 存钱 -- 执行完毕 -- i=84
存钱线程开始执行wati操作 执行了wait操作-- i =85
取钱线程 执行了wait操作 执行了wait操作 -- i=84
取钱线程 取钱:700.0 -- i=85
取钱线程-- 取钱 -- 执行完毕 -- i=85
取钱线程 开始要执行wait操作 执行了wait操作 -- i=86
存钱线程执行了wait操作 执行了wait操作-- i =85
存钱线程 存款:700.0 -- i=86
存钱线程-- 存钱 -- 执行完毕 -- i=86
存钱线程开始执行wati操作 执行了wait操作-- i =87
取钱线程 执行了wait操作 执行了wait操作 -- i=86
取钱线程 取钱:700.0 -- i=87
取钱线程-- 取钱 -- 执行完毕 -- i=87
取钱线程 开始要执行wait操作 执行了wait操作 -- i=88
存钱线程执行了wait操作 执行了wait操作-- i =87
存钱线程 存款:700.0 -- i=88
存钱线程-- 存钱 -- 执行完毕 -- i=88
存钱线程开始执行wati操作 执行了wait操作-- i =89
取钱线程 执行了wait操作 执行了wait操作 -- i=88
取钱线程 取钱:700.0 -- i=89
取钱线程-- 取钱 -- 执行完毕 -- i=89
取钱线程 开始要执行wait操作 执行了wait操作 -- i=90
存钱线程执行了wait操作 执行了wait操作-- i =89
存钱线程 存款:700.0 -- i=90
存钱线程-- 存钱 -- 执行完毕 -- i=90
存钱线程开始执行wati操作 执行了wait操作-- i =91
取钱线程 执行了wait操作 执行了wait操作 -- i=90
取钱线程 取钱:700.0 -- i=91
取钱线程-- 取钱 -- 执行完毕 -- i=91
取钱线程 开始要执行wait操作 执行了wait操作 -- i=92
存钱线程执行了wait操作 执行了wait操作-- i =91
存钱线程 存款:700.0 -- i=92
存钱线程-- 存钱 -- 执行完毕 -- i=92
存钱线程开始执行wati操作 执行了wait操作-- i =93
取钱线程 执行了wait操作 执行了wait操作 -- i=92
取钱线程 取钱:700.0 -- i=93
取钱线程-- 取钱 -- 执行完毕 -- i=93
取钱线程 开始要执行wait操作 执行了wait操作 -- i=94
存钱线程执行了wait操作 执行了wait操作-- i =93
存钱线程 存款:700.0 -- i=94
存钱线程-- 存钱 -- 执行完毕 -- i=94
存钱线程开始执行wati操作 执行了wait操作-- i =95
取钱线程 执行了wait操作 执行了wait操作 -- i=94
取钱线程 取钱:700.0 -- i=95
取钱线程-- 取钱 -- 执行完毕 -- i=95
取钱线程 开始要执行wait操作 执行了wait操作 -- i=96
存钱线程执行了wait操作 执行了wait操作-- i =95
存钱线程 存款:700.0 -- i=96
存钱线程-- 存钱 -- 执行完毕 -- i=96
存钱线程开始执行wati操作 执行了wait操作-- i =97
取钱线程 执行了wait操作 执行了wait操作 -- i=96
取钱线程 取钱:700.0 -- i=97
取钱线程-- 取钱 -- 执行完毕 -- i=97
取钱线程 开始要执行wait操作 执行了wait操作 -- i=98
存钱线程执行了wait操作 执行了wait操作-- i =97
存钱线程 存款:700.0 -- i=98
存钱线程-- 存钱 -- 执行完毕 -- i=98
存钱线程开始执行wati操作 执行了wait操作-- i =99
取钱线程 执行了wait操作 执行了wait操作 -- i=98
取钱线程 取钱:700.0 -- i=99
取钱线程-- 取钱 -- 执行完毕 -- i=99
存钱线程执行了wait操作 执行了wait操作-- i =99
1000.0
上一篇:Java多线程(四) —— 线程并发库之Atomic


下一篇:[SQL]分布师查询