start() 和 system.out 的优先级别
结果怎么是
Totle Money: 100.0
100.0
100.0
7
1
100.0
withdraw 100 success
0.0
withdraw 100 failed!
附带代码
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();
}
}
...全文
相关推荐
java基本教程之Thread中start()和run()的区别 java多线程教程
主要介绍了Thread中start()和run()的区别,Thread类包含start()和run()方法,它们的区别是什么?下面将对此作出解答
Java Thread中start()和run()的区别_动力节点Java学院整理
start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。而run() : run()就和普通的成员方法一样,可以被重复调用。下面通过示例代码给大家介绍了Java Thread中start()和run()的区别,感兴趣的朋友一起看看吧
spring容器的触发事件 ClassPathXmlApplicationContext的start()方法的用法
spring容器的触发事件 ClassPathXmlApplicationContext的start()方法的用法
java中thread线程start和run的区别
主要介绍了java中thread线程start和run的区别,run()是Runnable接口中定义的一个方法,是为了让客户程序员在这个方法里写自己的功能代码的。直接调用和普通的类调用自己的成员方法是没有任何区别的
Java中Thread.start()和Thread.run()的区别.docx
Java是一种功能强大、可靠性高、跨平台的编程语言,适用于各种应用场景。它被广泛用于企业级应用开发、移动应用开发、云计算、大数据处理等领域,是一门值得学习和掌握的编程语言。


Java SE
