例四.txt

来自「这是一本java基础教程 对新手上路有很大帮助」· 文本 代码 · 共 48 行

TXT
48
字号
public class Example8_4{
    public static void main(String args[ ]){
        String s1="会计",s2="出纳"; 
        Bank bank=new Bank(s1,s2);
        Thread zhang,cheng;
        zhang=new Thread(bank);
        cheng=new Thread(bank);    //cheng和zhang是同一目标对象 
        zhang.setName(s1);
        cheng.setName(s2);
        bank.setMoney(120);       //线程的目标对象修改被线程共享的money
        zhang.start();
        cheng.start();
    }
}
class Bank implements Runnable{      //Bank类必须实现Runnable接口
    private int money=0;
    String name1,name2;
    Bank(String s1,String s2){
        name1=s1;
        name2=s2;
    } 
    public void setMoney(int mount){
        money=mount;
    }
    public void run(){                //接口中的方法
        while(true){
            money=money-10;
            if(Thread.currentThread().getName().equals(name1)){
               System.out.println("我是"+name1+"现在有"+money+"元");
               if(money<=100){
                  System.out.println(name1+"进入死亡状态");
                  return;         //如果money小于100,当前线程结束run方法 
               } 
            } 
            else if(Thread.currentThread().getName().equals(name2)){
                 System.out.println("我是"+name2+"现在有"+money+"元");
                 if(money<=60){
                   System.out.println(name2+"进入死亡状态");
                   return;         //如果money小于100,当前线程结束run方法 
                 } 
            } 
            try{   Thread.sleep(800);
            }
            catch(InterruptedException e) {}
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?