Spec-Zone .ru
спецификации, руководства, описания, API
|
public class AbstractQueuedSynchronizer.ConditionObject extends Object implements Condition, Serializable
AbstractQueuedSynchronizer
служение в качестве основания a Lock
реализация. Документация метода для этого class описывает механику, не поведенческие спецификации с точки зрения пользователей Блокировки и Условия. Экспортируемые версии этого class будут в общей потребности, которая будет сопровождаться документацией, описывающей семантику условия, которые полагаются на таковые из связанного AbstractQueuedSynchronizer.
Этот class Сериализуем, но все поля являются переходным процессом, таким образом, у десериализованных условий нет никаких официантов.
Конструктор и Описание |
---|
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()
Возвращает набор, содержащий те потоки, которые могут ожидать на этом Условии.
|
protected int |
getWaitQueueLength()
Возвращает оценку числа потоков, ожидающих на этом условии.
|
protected boolean |
hasWaiters()
Запросы, ожидают ли какие-либо потоки на этом условии.
|
void |
signal()
Перемещает дольше всего ожидающий поток, если Вы существуете от ожидать очереди для этого условия ожидать очереди для блокировки обладания.
|
void |
signalAll()
Перемещения все потоки от ожидать очереди для этого условия ожидать очереди для блокировки обладания.
|
public AbstractQueuedSynchronizer.ConditionObject()
public final void signal()
signal
в интерфейсе Condition
IllegalMonitorStateException
- если AbstractQueuedSynchronizer.isHeldExclusively()
возвраты false
public final void signalAll()
signalAll
в интерфейсе Condition
IllegalMonitorStateException
- если AbstractQueuedSynchronizer.isHeldExclusively()
возвраты false
public final void awaitUninterruptibly()
AbstractQueuedSynchronizer.getState()
. AbstractQueuedSynchronizer.release(int)
с сохраненным состоянием как параметр, бросая IllegalMonitorStateException, если это перестало работать. AbstractQueuedSynchronizer.acquire(int)
с сохраненным состоянием как параметр. awaitUninterruptibly
в интерфейсе Condition
public final void await() throws InterruptedException
AbstractQueuedSynchronizer.getState()
. AbstractQueuedSynchronizer.release(int)
с сохраненным состоянием как параметр, бросая IllegalMonitorStateException, если это перестало работать. AbstractQueuedSynchronizer.acquire(int)
с сохраненным состоянием как параметр. await
в интерфейсе Condition
InterruptedException
- если текущий поток прерывается (и прерывание приостановки потока поддерживается),public final long awaitNanos(long nanosTimeout) throws InterruptedException
AbstractQueuedSynchronizer.getState()
. AbstractQueuedSynchronizer.release(int)
с сохраненным состоянием как параметр, бросая IllegalMonitorStateException, если это перестало работать. AbstractQueuedSynchronizer.acquire(int)
с сохраненным состоянием как параметр. awaitNanos
в интерфейсе Condition
nanosTimeout
- максимальное время, чтобы ожидать, в наносекундахnanosTimeout
значение минус время, проведенное, ожидая по возврату из этого метода. Положительное значение может использоваться в качестве параметра последующему звонку в этот метод, чтобы закончить пережидать требуемое время. Значение, меньше чем или равное нулю, не указывает то время, остается.InterruptedException
- если текущий поток прерывается (и прерывание приостановки потока поддерживается),public final boolean awaitUntil(Date deadline) throws InterruptedException
AbstractQueuedSynchronizer.getState()
. AbstractQueuedSynchronizer.release(int)
с сохраненным состоянием как параметр, бросая IllegalMonitorStateException, если это перестало работать. AbstractQueuedSynchronizer.acquire(int)
с сохраненным состоянием как параметр. awaitUntil
в интерфейсе Condition
deadline
- абсолютное время, чтобы ожидать доfalse
если крайний срок протек по возврату, еще true
InterruptedException
- если текущий поток прерывается (и прерывание приостановки потока поддерживается),public final boolean await(long time, TimeUnit unit) throws InterruptedException
AbstractQueuedSynchronizer.getState()
. AbstractQueuedSynchronizer.release(int)
с сохраненным состоянием как параметр, бросая IllegalMonitorStateException, если это перестало работать. AbstractQueuedSynchronizer.acquire(int)
с сохраненным состоянием как параметр. await
в интерфейсе Condition
time
- максимальное время, чтобы ожидатьunit
- единица измерения времени time
параметрfalse
если время ожидания, обнаруживаемо законченное перед возвратом из метода, еще true
InterruptedException
- если текущий поток прерывается (и прерывание приостановки потока поддерживается),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
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92