이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
Java의 java.util.concurrent.locks
패키지는 내장된 Java 동기화 메커니즘보다 더 유연하고 강력한 잠금 및 동기화를 위한 프레임워크를 제공합니다. 이 패키지의 'Lock' 인터페이스는 객체 잠금 및 잠금 해제를 위한 일련의 메서드를 정의하고 'ReentrantLock' 클래스는 이 인터페이스의 구체적인 구현을 제공합니다.
Lock
인터페이스 및 ReentrantLock
클래스 외에도 java.util.concurrent.locks
패키지에는 Condition
인터페이스, ReadWriteLock
인터페이스 및 ReentrantReadWriteLock
클래스.
'Lock' 인터페이스는 객체를 잠그고 잠금 해제하는 방법 세트를 정의합니다. 'ReentrantLock' 클래스는 이 인터페이스의 구체적인 구현입니다.
'ReentrantLock' 개체를 만들려면 다음 코드를 사용할 수 있습니다.
ReentrantLock lock = new ReentrantLock();
객체를 잠그려면 lock
메서드를 사용할 수 있습니다.
lock.lock();
객체의 잠금을 해제하려면 unlock
메서드를 사용할 수 있습니다.
lock.unlock();
예외가 발생하더라도 개체가 항상 잠금 해제되도록 하려면 try-catch-finally 문의 finally 블록에서 항상 개체를 잠금 해제해야 한다는 점에 유의해야 합니다.
try {
lock.lock();
// Perform some actions here.
} finally {
lock.unlock();
}
Condition
인터페이스는 스레드 대기 및 신호 스레드에 대한 일련의 메서드를 정의합니다. Condition
개체는 Lock
개체와 연결되며 스레드 실행을 동기화하는 데 사용할 수 있습니다.
Condition
개체를 만들려면 다음 코드를 사용할 수 있습니다.
Condition condition = lock.newCondition();
조건을 기다리려면 await
메서드를 사용할 수 있습니다.
condition.await();
조건을 알리기 위해 signal
메서드를 사용할 수 있습니다.
condition.signal();
예외가 발생하더라도 조건이 항상 신호를 받도록 하려면 try-catch-finally 문의 finally 블록에서 항상 signal
메서드를 호출해야 한다는 점에 유의하는 것이 중요합니다.
try {
// Perform some actions here.
} finally {
condition.signal();
}
'ReadWriteLock' 인터페이스는 읽기 및 쓰기를 위해 객체를 잠그고 잠금 해제하는 일련의 메서드를 정의합니다. 'ReentrantReadWriteLock' 클래스는 이 인터페이스의 구체적인 구현입니다.
'ReentrantReadWriteLock' 개체를 만들려면 다음 코드를 사용할 수 있습니다.
ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
객체를 읽기 위해 잠그려면 readLock
메서드를 사용할 수 있습니다.
lock.readLock().lock();
객체를 읽기 위해 잠금을 해제하려면 readLock
메서드를 사용할 수 있습니다.
lock.readLock().unlock();
쓰기를 위해 객체를 잠그려면 writeLock
메서드를 사용할 수 있습니다.
lock.writeLock().lock();
쓰기를 위해 객체의 잠금을 해제하려면 writeLock
메서드를 사용할 수 있습니다.
lock.writeLock().unlock();
예외가 발생하더라도 개체가 항상 잠금 해제되도록 하려면 try-catch-finally 문의 finally 블록에서 항상 개체를 잠금 해제해야 한다는 점에 유의해야 합니다.
try {
lock.writeLock().lock();
// Perform some actions here.
} finally {
lock.writeLock().unlock();
}
Java의 java.util.concurrent.locks
패키지는 내장된 Java 동기화 메커니즘보다 더 유연하고 강력한 잠금 및 동기화를 위한 프레임워크를 제공합니다. 이 패키지의 'Lock' 인터페이스는 객체 잠금 및 잠금 해제를 위한 일련의 메서드를 정의하고 'ReentrantLock' 클래스는 이 인터페이스의 구체적인 구현을 제공합니다.
Lock
인터페이스 및 ReentrantLock
클래스 외에도 java.util.concurrent.locks
패키지에는 Condition
인터페이스, ReadWriteLock
인터페이스 및 ReentrantReadWriteLock
클래스.