java.util.concurrent.locks.Lock
synchronized
.lock()
.unlock()
예:
final ReentrantLock lock = new ReentrantLock(); public void foo() { synchronized (lock) {} }