结果怎么是
Totle Money: 100.0
100.0
100.0
7
1
100.0
withdraw 100 success
0.0
withdraw 100 failed!
附带代码
package two;public class Account { double balance;
public Account(double money){
// System.out.println(6);
balance = money;
System.out.println("Totle Money: "+balance);
// System.out.println(3);
}
public void ba() {
System.out.println(balance);
}
public void withdraw(double money){
// System.out.println(2);
synchronized (this) {
if (balance >= money) {
balance = balance - money;
// System.out.println(4);
System.out.println("withdraw 100 success");
}
else
System.out.println("withdraw 100 failed!");
}
}
}
package two;public class AccountThread extends Thread { Account acount;
public AccountThread(Account acount) {
// System.out.println(5);
this.acount = acount;
acount.ba();
}
public void run(){
acount.ba();
acount.withdraw(100);
}
}package two;public class Tst { /**
* @param args
*/
public static void main(String[] args) { Account acount = new Account(100);
AccountThread acountThread31 = new AccountThread(acount);
AccountThread acountThread32 = new AccountThread(acount);
System.out.println(7);
acountThread31.start();
System.out.println(1);
acountThread32.start();
}}
Totle Money: 100.0
100.0
100.0
7
1
100.0
withdraw 100 success
0.0
withdraw 100 failed!
附带代码
package two;public class Account { double balance;
public Account(double money){
// System.out.println(6);
balance = money;
System.out.println("Totle Money: "+balance);
// System.out.println(3);
}
public void ba() {
System.out.println(balance);
}
public void withdraw(double money){
// System.out.println(2);
synchronized (this) {
if (balance >= money) {
balance = balance - money;
// System.out.println(4);
System.out.println("withdraw 100 success");
}
else
System.out.println("withdraw 100 failed!");
}
}
}
package two;public class AccountThread extends Thread { Account acount;
public AccountThread(Account acount) {
// System.out.println(5);
this.acount = acount;
acount.ba();
}
public void run(){
acount.ba();
acount.withdraw(100);
}
}package two;public class Tst { /**
* @param args
*/
public static void main(String[] args) { Account acount = new Account(100);
AccountThread acountThread31 = new AccountThread(acount);
AccountThread acountThread32 = new AccountThread(acount);
System.out.println(7);
acountThread31.start();
System.out.println(1);
acountThread32.start();
}}
public void withdraw(double money)