Java存钱与取钱


Java存钱与取钱


package pukepai;

public class test1
{
    public static void main(String  agrs[])
    {
        Bank s1=new Bank();
        Thread accountant,cashier;
        accountant =new Thread(s1);
        cashier=new Thread(s1);
        accountant.setName("accountant");
        cashier.setName("cashier");
        accountant.start();
        cashier.start();
    }
}
class Bank implements Runnable
{
    int money;
    public Bank()
    {
        money=0;
    }
    public void run()
    {
        while(true)
        {
            if(Thread.currentThread().getName().equals("accountant"))
            {
                saveOrTake(100);
            }
            else if(Thread.currentThread().getName().equals("cashier"))
            {
                saveOrTake(100);
            }
        }


    }
    public synchronized void saveOrTake(int amount)
    {
        if(Thread.currentThread().getName().equals("accountant"))
        {
            money=money+amount;
            System.out.println("会计存入"+amount+"万元,账上还有"+money+"万元");
            try
            {
                Thread.sleep(800);
            } catch (InterruptedException e)
            {

            }
        }
        else if(Thread.currentThread().getName().equals("cashier"))
        {
            money=money-amount;
            System.out.println("出纳取出"+amount+"万元,账上还有"+money+"万元");
            try
            {
                Thread.sleep(800);
            } catch (InterruptedException e)
            {

            }
        }
    }
}


文章作者: LHL
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LHL !
评论
  目录