|
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 도 참조해 주세요.