利用多线程怎么编写存款与取款的问题?
解决方案 »
- unable to install breakpoint in......不能击中断点
- 问个JAVA的语法问题
- 关于SWT 自带关闭的CTabItem的内存释放问题
- 请教:编一个局域网内的聊天软件,要求用p2p协议,不很懂需求
- 怎么把cab文件重新打包成jar文件啊?
- 100分求代码,在任意的6个整数中取随机数,每次取一个,不能重复,直到取完为止。
- 关于键盘事件的问题
- 准备从DELPHI转向JAVA,诸位大侠,荐一本好书吧!(UP有分)
- 有在用AXIS的朋友吗?请教一个问题
- 关于方法调用的问题!
- 关于web开发中url部分的问题,高手进...
- 用窗口上的叉子关闭程序,是等于执行了哪个方法。我想在单击叉子之后还能执行向数据库写入时间的代码。如记录用户退出时间应该怎么办
楼主截止到2008-06-21 10:18:17的汇总数据:
注册日期:2008-5-12
上次登录:2008-6-21
发帖数:1 发帖分:20
结贴数:0 结贴分:0
结贴率:0.00 % 结分率:0.00 %
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
http://www.java2000.net/viewthread.jsp?tid=5382
嘿嘿,这种问题已经回答很多遍了,GOOGLE一下,楼主可以自行选择,自行解决问题............
private String name;
private int value;
void put(int i){
value=value+i;
}
int get(int i){
if(value>i){
value=value-i;
}
else{
i=value;
value=0;
}
return i;
}
int howmatch(){
return value;
}}
class Save2 extends Thread{ //存款
private Account1 a1;
private int amount;
public Save2(Account1 a1,int amount){
this.a1=a1;
this.amount=amount;
}
public void run(){
synchronized(a1){
int k=a1.howmatch();
try{
sleep(1);
}
catch(InterruptedException e){
System.out.println(e);
}
a1.put(amount);
System.out.println("现有"+k+",存入"+amount+",余额"+a1.howmatch());
}
}
public static void main(String args[]){
Account1 a1=new Account1();
(new Save2(a1,100)).start();
(new Save2(a1,200)).start();
(new Save2(a1,500)).start();
}
}
class Fetch2 extends Thread{ //取款
private Account1 a1;
private int amount;
public Fetch2(Account1 a1,int amount){
this.a1=a1;
this.amount=amount;
}
public void run(){
synchronized(a1){
int k=a1.howmatch();
try{
sleep(1);
}
catch(InterruptedException e){
System.out.println(e);
}
System.out.println("现有"+k+",取走"+a1.get(amount)+"余额"+a1.howmatch());
}
}
}
//这是书上关于存取款的例子