import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; class CountMonitor { private Lock lock = new ReentrantLock(); private int sharedCounter = 0; public void increment() { lock.lock(); try { sharedCounter++; } finally { lock.unlock(); } } public int getCounter() { return sharedCounter; } }