模拟银行取钱 (多线程操作的好处)
(1)銀行類
package test4;
/**
?* 銀行賬戶
?* @author user
?*
?*/
public class Bank {
private static double balance;//類的變量,數據共享
public Bank(){
}
public Bank(double money){
balance = money;
}
//取款操作
public synchronized void getMoney(double money){
System.out.println(Thread.currentThread().getName()+"查詢當前余額為"+balance+"元");
if(balance >= money){
balance -= money;
System.out.println(Thread.currentThread().getName()+"取款"+money+"元,當前余額為"+balance+"元");
}
}
}
(2)測試類
package test4;
public class Test {
public static void main(String[] args) {
//只有一個銀行賬戶
Bank bank = new Bank(1000);
//模擬使用不同的APP同時操作銀行賬戶
Qu wx = new Qu(bank,100);
Qu zfb = new Qu(bank,100);
Qu wy = new Qu(bank,100);
wx.setName("微信");
zfb.setName("支付寶");
wy.setName("網銀");
wx.start();
zfb.start();
wy.start();
}
}
(3)取繼承thread方法
package test4;
public class Qu extends Thread{
private Bank bank;
private double money;
public Qu(Bank b,double money){
this.bank = b;
this.money = money;
}
@Override
public void run() {
bank.getMoney(money);
}
}
小結:在執行多任務以及下載多文件時,可以通過多線程的并發操作機制達到目的。
總結
以上是生活随笔為你收集整理的模拟银行取钱 (多线程操作的好处)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 中遍历目录下所有文件
- 下一篇: 福建茶下山桩怎么养护