save2.java

来自「这是java实例的书上例题」· Java 代码 · 共 62 行

JAVA
62
字号
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 Fetch2(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());
        }
    }
}

⌨️ 快捷键说明

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