import java.util.concurrent.locks.ReentrantLock;
public class LockExample {
private static final ReentrantLock lock = new ReentrantLock();
public void criticalSection() {
lock.lock();
try {
} finally {
lock.unlock();
}
}
}
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class ReadWriteLockExample {
private static final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
public void readData() {
lock.readLock().lock();
try {
} finally {
lock.readLock().unlock();
}
}
public void writeData() {
lock.writeLock().lock();
try {
} finally {
lock.writeLock().unlock();
}
}
}