Java基础之多线程同步银行存款示例:

class BankDemo
{
    public static void main(String[] args)
    {
        Thread t1 = new Thread(new Person());
        Thread t2 = new Thread(new Person());
        
        t1.start();
        t2.start();
    }
}

class Person implements Runnable
{
    private static Bank bank = new Bank();
    public void run()
    {
        for(int i=0;i<3;i++)
        {
            bank.add(100);
        }
    }
}

class Bank
{
    private int sum;
    public void add(int n)
    {
        synchronized(this)
        {
            this.sum+=n;
            System.out.println("sum:"+this.sum);
        }
    }
}
原文地址:https://www.cnblogs.com/cxmsky/p/2860390.html