Вы должны использовать один и тот же ReentrantLock
в разных потоках, вместо этого создавая разные блокировки.
Измените конструктор на это:
ReentrantLock reentrantLock;
MyThread2(String name, ReentrantLock lock){
this.name = name;
this.reentrantLock = lock;
}
И передайте им тот же замок:
ReentrantLock lock = new ReentrantLock();
new MyThread2("Thread - 1", lock).start();
new MyThread2("Thread - 2", lock).start();