|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject
public class AbstractQueuedSynchronizer.ConditionObject
Lock
구현의 기반으로서 기능하는 AbstractQueuedSynchronizer
의 Condition 구현입니다.
이 클래스의 메소드의 문서에는, Lock 및 Condition 사용자로부터 본 동작 스펙은 아니고, 내부 기구가 기재되어 있습니다. 일반적으로, 이 클래스의 export 된 버젼에는, 관련하는 AbstractQueuedSynchronizer 상태 시멘틱스를 기술한 문서를 첨부할 필요가 있습니다.
이 클래스는 Serializable 입니다만, 모든 필드는 일시 필드이기 (위해)때문에, 직렬화 복원된 상태에서는 대기자는 존재하지 않습니다.
생성자 의 개요 | |
---|---|
AbstractQueuedSynchronizer.ConditionObject ()
새로운 ConditionObject 의 인스턴스를 생성합니다. |
메소드의 개요 | |
---|---|
void |
await ()
끼어들어 가능한 상태 대기를 구현합니다. |
boolean |
await (long time,
TimeUnit unit)
시간의 지정된 상태 대기를 구현합니다. |
long |
awaitNanos (long nanosTimeout)
시간의 지정된 상태 대기를 구현합니다. |
void |
awaitUninterruptibly ()
끼어들어 불가능한 상태 대기를 구현합니다. |
boolean |
awaitUntil (Date deadline)
절대 시간의 지정된 상태 대기를 구현합니다. |
protected Collection <Thread > |
getWaitingThreads ()
이 Condition 로 대기하고 있을 가능성이 있는 thread를 포함한 컬렉션을 돌려줍니다. |
protected int |
getWaitQueueLength ()
이 상태로 대기중의 thread의 추정수를 돌려줍니다. |
protected boolean |
hasWaiters ()
이 상태로 대기중의 thread가 존재할지 어떨지를 조회합니다. |
void |
signal ()
가장 길게 대기하고 있는 thread가 존재하는 경우, 그것을 이 상태의 대기 큐로부터 소유하는 락의 대기 큐로 이동합니다. |
void |
signalAll ()
모든 thread를, 이 상태의 대기 큐로부터 소유하는 락의 대기 큐로 이동합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public AbstractQueuedSynchronizer.ConditionObject()
메소드의 상세 |
---|
public final void signal()
Condition
내의 signal
IllegalMonitorStateException
- AbstractQueuedSynchronizer.isHeldExclusively()
가 false
를 돌려주는 경우public final void signalAll()
Condition
내의 signalAll
IllegalMonitorStateException
- AbstractQueuedSynchronizer.isHeldExclusively()
가 false
를 돌려주는 경우public final void awaitUninterruptibly()
AbstractQueuedSynchronizer.getState()
에 의해 반환된 락 상태를 보존한다.
AbstractQueuedSynchronizer.release(int)
를 호출한다. 실패했을 경우는, IllegalMonitorStateException 를 throw 한다.
AbstractQueuedSynchronizer.acquire(int)
를 호출하는 것으로, 취득을 재실행한다.
Condition
내의 awaitUninterruptibly
public final void await() throws InterruptedException
AbstractQueuedSynchronizer.getState()
에 의해 반환된 락 상태를 보존한다.
AbstractQueuedSynchronizer.release(int)
를 호출한다. 실패했을 경우는, IllegalMonitorStateException 를 throw 한다.
AbstractQueuedSynchronizer.acquire(int)
를 호출하는 것으로, 취득을 재실행한다.
Condition
내의 await
InterruptedException
- 현재의 thread로 인터럽트가 발생하는 ( 및 thread 중단의 인터럽트가 지원된다) 경우public final long awaitNanos(long nanosTimeout) throws InterruptedException
AbstractQueuedSynchronizer.getState()
에 의해 반환된 락 상태를 보존한다.
AbstractQueuedSynchronizer.release(int)
를 호출한다. 실패했을 경우는, IllegalMonitorStateException 를 throw 한다.
AbstractQueuedSynchronizer.acquire(int)
를 호출하는 것으로, 취득을 재실행한다.
Condition
내의 awaitNanos
nanosTimeout
- 나노초단위의 대기 시간
nanosTimeout
값으로부터 깎은 추정수.
정의 값은, 희망하는 시간만 대기할 수 있도록(듯이), 이 메소드의 이후의 호출에 대한 인수로서 사용된다. 제로 이하의 값은, 시간이 남지 않은 것을 나타낸다
InterruptedException
- 현재의 thread로 인터럽트가 발생하는 ( 및 thread 중단의 인터럽트가 지원된다) 경우public final boolean awaitUntil(Date deadline) throws InterruptedException
AbstractQueuedSynchronizer.getState()
에 의해 반환된 락 상태를 보존한다.
AbstractQueuedSynchronizer.release(int)
를 호출한다. 실패했을 경우는, IllegalMonitorStateException 를 throw 한다.
AbstractQueuedSynchronizer.acquire(int)
를 호출하는 것으로, 취득을 재실행한다.
Condition
내의 awaitUntil
deadline
- 대기하는 절대 시간
false
, 그렇지 않은 경우는 true
InterruptedException
- 현재의 thread로 인터럽트가 발생하는 ( 및 thread 중단의 인터럽트가 지원된다) 경우public final boolean await(long time, TimeUnit unit) throws InterruptedException
AbstractQueuedSynchronizer.getState()
에 의해 반환된 락 상태를 보존한다.
AbstractQueuedSynchronizer.release(int)
를 호출한다. 실패했을 경우는, IllegalMonitorStateException 를 throw 한다.
AbstractQueuedSynchronizer.acquire(int)
를 호출하는 것으로, 취득을 재실행한다.
Condition
내의 await
time
- 대기하는 최장 시간unit
- time
인수의 시간 단위
false
, 그렇지 않은 경우는 true
InterruptedException
- 현재의 thread로 인터럽트가 발생하는 ( 및 thread 중단의 인터럽트가 지원된다) 경우protected final boolean hasWaiters()
AbstractQueuedSynchronizer.hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)
를 구현합니다.
true
IllegalMonitorStateException
- AbstractQueuedSynchronizer.isHeldExclusively()
가 false
를 돌려주는 경우protected final int getWaitQueueLength()
AbstractQueuedSynchronizer.getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)
를 구현합니다.
IllegalMonitorStateException
- AbstractQueuedSynchronizer.isHeldExclusively()
가 false
를 돌려주는 경우protected final Collection <Thread > getWaitingThreads()
AbstractQueuedSynchronizer.getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)
를 구현합니다.
IllegalMonitorStateException
- AbstractQueuedSynchronizer.isHeldExclusively()
가 false
를 돌려주는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.