Mengapa menggunakan ReentrantLock jika seseorang dapat menggunakan sinkronisasi (ini)?

Saya mencoba memahami apa yang membuat kunci dalam konkurensi sangat penting jika seseorang dapat menggunakannya synchronized (this). Dalam kode dummy di bawah ini, saya dapat melakukan salah satu dari ini: menyinkronkan seluruh metode atau menyinkronkan area rentan (