《java程序设计基础》多线程的同步控制

设计一个模拟用户从银行取款的应用程序。设某银行账户存款额的初始值为2000元,用线程模拟两个用户分贝从银行取款的情况。两个用户分四次分别从银行的同一账户取款,每次取一百元。package yuan;class Mbank{ //模拟银行账户类private static int sum = 2000; //初始存款额为2000public static void take(int k) {int temp = sum;temp-=k; //变量
摘要由CSDN通过智能技术生成

设计一个模拟用户从银行取款的应用程序。设某银行账户存款额的初始值为2000元,用线程模拟两个用户分贝从银行取款的情况。两个用户分四次分别从银行的同一账户取款,每次取一百元。
package yuan;
class Mbank{ //模拟银行账户类
private static int sum = 2000; //初始存款额为2000
public static void take(int k) {
int temp = sum;
temp-=k; //变量temp中保存的是每个线程处理的值
try {Thread.sleep((int)(1000*Math.random()));}
catch(InterruptedException e) { }
sum = temp;
System.out.println(“sum=”+sum);
}
}
class Customer2 extends Thread{ //模拟用户取款线程类
public void run() {
for(int i =1;i<=4;i++)
Mbank.take(100);
}
}
public class App11_6 { //调用线程的主类

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Customer2 c1 = new Customer2();
	Customer2 c2 = new Customer2();
	c1.start();
	c2.start();
}

}
修改上面例题,用线程同步的方法设计用户从银行取款的应用程序。
package yuan;
class M

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值