📄 example19_9.java.bak
字号:
import java.applet.*;import java.awt.*;
import java.awt.event.*;
public class Example19_7 extends Applet implements Runnable
{ int money=100;TextArea text1,text2;
Thread 会计,出纳;
public void init()
{ 会计=new Thread(this); 出纳=new Thread(this);//创建两个线程:会计、出纳。
text1=new TextArea(20,8); text2=new TextArea(20,8);
add(text1);add(text2);
}
public void start()
{ 会计.start();出纳.start(); //线程开始。
}
public synchronized void 存取(int number) //存取方法。
{ if(Thread.currentThread()==会计)
{ for(int i=1;i<=3;i++) //会计使用存取方法存入90元,存入30元,稍歇一下,
{ money=money+number; //这时出纳仍不能使用存取方法,
try { Thread.sleep(1000); //因为会计还没使用完存取方法。
}
catch(InterruptedException e){}
text1.append("\n"+money);
}
}
else if(Thread.currentThread()==出纳)
{ for(int i=1;i<=2;i++) //出纳使用存取方法取出30元,取出15元,稍歇一下,
{ money=money-number/2; //这时会计仍不能使用存取方法,
try { Thread.sleep(1000); //因为出纳还没使用完存取方法。
}
catch(InterruptedException e){}
text2.append("\n"+money);
}
}
}
public void run()
{ if(Thread.currentThread()==会计||Thread.currentThread()==出纳)
{ for(int i=1;i<=3;i++) //从周一到周三会计和出纳都要使用帐本。
{ 存取(30);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -