1 Star 1 Fork 0

OOAD2017/Java.Programming

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
DepositInBank.java 1.14 KB
一键复制 编辑 原始数据 按行查看 历史
Allan 提交于 2017-09-24 11:48 +08:00 . add textbook codes
//DepositInBank.java
public class DepositInBank
{
public static void main(String[] args)
{
BankAccount ba=new BankAccount();//创建一个银行帐户ba
ThreadGroup tg=new ThreadGroup("BankClient Group");
for(int i=0;i<5;i++){//模拟5位银行客户同时操作帐户ba
Thread t=new Thread(tg,new BankClient(ba));
t.start();
}
while(tg.activeCount()!=0){}
//操作结束后统计帐户ba的余额
System.out.println("BankAccount balance is:"+ba.getBalance());
}
}
class BankAccount
{ //银行帐户类
private int balance; //余额属性
BankAccount()
{
balance=0;
}
int getBalance()
{return balance;}
void add() //向帐户汇款1000元
{
int newBalance=balance+1000;
try
{Thread.sleep(1);} //这里用Thread.sleep(1)语句模拟银行交易处理的延迟
catch(InterruptedException e)
{System.out.println(e);}
balance=newBalance;
}
}
class BankClient extends Thread //银行客户类,每个客户都持有一个帐户
{
BankAccount ba;
BankClient(BankAccount ba)
{
this.ba=ba;
}
public void run() //客户的行为,向帐户汇款
{
ba.add();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/OOAD2017/Java.Programming.git
git@gitee.com:OOAD2017/Java.Programming.git
OOAD2017
Java.Programming
Java.Programming
master

搜索帮助