Thread的ReentrantLock类使用失效,同步锁未能成功

问题遇到的现象和发生背景

现象:Thread的ReentrantLock类使用失效,同步锁未能成功
题目背景:银行有一个账户,有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打印账户余额。

问题相关代码,请勿粘贴截图

package com.exer;

import java.util.concurrent.locks.ReentrantLock;

class Account2{
private double balance;

public Account2(double balance){
    this.balance = balance;
}

//存钱
public void deposit(double amt){
    if(amt > 0){
        balance += amt;

        try {
            Thread.sleep(1000);
        }catch (InterruptedException e){
            e.printStackTrace();
        }

        System.out.println(Thread.currentThread().getName()+":存钱成功,余额为:"+ balance);
    }
}

}

class Customer2 extends Thread{
private Account2 acct;

public Customer2(Account2 acct){
    this.acct = acct;
}

private ReentrantLock lock = new ReentrantLock();

@Override
public void run() {
    for(int i=0;i<3;i++){
        lock.lock();
            try{
                acct.deposit(1000);
            }finally {
                lock.unlock();
            }
    }
}

}

public class AcountTest2 {
public static void main(String[] args) {
Account2 acct = new Account2(0);
Customer2 c1 = new Customer2(acct);
Customer2 c2 = new Customer2(acct);

    c1.setName("甲");
    c2.setName("乙");

    c1.start();
    c2.start();
}

}

运行结果及报错内容

乙:存钱成功,余额为:2000.0
甲:存钱成功,余额为:2000.0
甲:存钱成功,余额为:4000.0
乙:存钱成功,余额为:5000.0
乙:存钱成功,余额为:6000.0
甲:存钱成功,余额为:6000.0

我的解答思路和尝试过的方法

在run方法里,按照ReentrantLock类的使用说明,进行定义,lock()上锁,unlock()关锁。

我想要达到的结果

乙:存钱成功,余额为:1000.0
甲:存钱成功,余额为:2000.0
甲:存钱成功,余额为:3000.0
乙:存钱成功,余额为:4000.0
乙:存钱成功,余额为:5000.0
甲:存钱成功,余额为:6000.0

两个锁又互不影响;
锁放外面,共用一个锁

 private Account2 acct;
    private ReentrantLock lock;

    public Customer2(Account2 acct, ReentrantLock lock) {
        this.acct = acct;
        this.lock = lock;
    }