class  Bank implements Runnable
{
//1.
int money=100;
Thread zhang,keven;
Bank(){
zhang=new Thread(this);//创建zhang,Bank对象为zhang的目标对象
zhang.setName("会计");
keven=new Thread(this);//创建keven,Bank对象为keven的目标对象
keven.setName("出纳");
}
public void run(){
int i=0;
while(true){
if(zhang.isAlive()){ //判断线程zhang是否正在占有CPU资源.
i=i+1;
money=money+1;
//输出会出现重复的现象,什么原因呢?难道是Thread的原因吗?
System.out.println(zhang.getName()+"将money的值该为:"+money);
System.out.print(zhang.getName()+"的局部变量i="+i); if(i>=6){
System.out.println(zhang.getName()+"线程进入死亡状态");
zhang.stop(); //线程进入死亡状态
}
try{
Thread.sleep(1000);
}catch(InterruptedException e){

}
}
else if(keven.isAlive()){
i=i-1;
money=money-1;
System.out.println(keven.getName()+"将money的值改为"+money);
System.out.print(keven.getName()+"的局部变量i="+i); if(i<=-6)
{
System.out.println(keven.getName()+"线程进入死亡状态");
keven.stop(); //使得线程进入死亡状态.
}
try{
Thread.sleep(1000); }catch(InterruptedException e){

}
}
}
}
}
class BankExample
{
public static void main(String [] args){
Bank bank=new Bank();
bank.zhang.start();
bank.keven.start();
}
}