public synchronized void method() {
}
public void method() {
synchronized (this) {
}
}
private Lock lock = new ReentrantLock();
public void method() {
lock.lock();
try {
} finally {
lock.unlock();
}
}
private ReadWriteLock lock = new ReentrantReadWriteLock();
public void readMethod() {
lock.readLock().lock();
try {
} finally {
lock.readLock().unlock();
}
}
public void writeMethod() {
lock.writeLock().lock();
try {
} finally {
lock.writeLock().unlock();
}
}
private Lock lock = new ReentrantLock();
private Condition condition = lock.newCondition();
public void method() {
lock.lock();
try {
condition.await();
condition.signal();
} finally {
lock.unlock();
}
}