Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов сохранен в этом набореpublic class SynchronousQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, Serializable
Синхронные очереди подобны каналам рандеву, используемым в CSP и Аде. Они хорошо подходят для проектов handoff, в которых объект, работающий в одном потоке, должен синхронизировать с объектом, работающим в другом потоке, чтобы вручить этому некоторую информацию, событие, или задачу.
Этот class поддерживает дополнительную политику справедливости для того, чтобы упорядочить ожидающие потоки производителя и потребителя. По умолчанию это упорядочивание не гарантируется. Однако, очередь, созданная с набором справедливости к true, предоставляет доступ потоков в порядке FIFO.
Этот class и его iterator реализуют все дополнительные методы Collection
и Iterator
интерфейсы.
Этот class является элементом Платформы Наборов Java.
Конструктор и Описание |
---|
SynchronousQueue()
Создает SynchronousQueue с несправедливой политикой доступа.
|
SynchronousQueue(boolean fair)
Создает SynchronousQueue с указанной политикой справедливости.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
clear()
Ничего не делает.
|
boolean |
contains(Object o)
Всегда возвраты false.
|
boolean |
containsAll(Collection<?> c)
false возвратов, если данный набор не пуст.
|
int |
drainTo(Collection<? super E> c)
Удаляет все доступные элементы из этой очереди и добавляет их к данному набору.
|
int |
drainTo(Collection<? super E> c, int maxElements)
Удаляет самое большее данное число доступных элементов от этой очереди и добавляет их к данному набору.
|
boolean |
isEmpty()
Всегда возвраты true.
|
Iterator<E> |
iterator()
Возвращает пустой iterator, в котором hasNext всегда возвращает false.
|
boolean |
offer(E e)
Вставляет указанный элемент в эту очередь, если другой поток ожидает, чтобы получить это.
|
boolean |
offer(E e, long timeout, TimeUnit unit)
Вставляет указанный элемент в эту очередь, ожидая в случае необходимости до указанного времени ожидания для другого потока, чтобы получить это.
|
E |
peek()
Всегда возвраты null.
|
E |
poll()
Получает и удаляет главу этой очереди, если другой поток в настоящий момент делает элемент доступным.
|
E |
poll(long timeout, TimeUnit unit)
Получает и удаляет главу этой очереди, ожидая в случае необходимости до указанного времени ожидания, для другого потока, чтобы вставить это.
|
void |
put(E e)
Добавляет указанный элемент к этой очереди, ожидая в случае необходимости другого потока, чтобы получить это.
|
int |
remainingCapacity()
Всегда нуль возвратов.
|
boolean |
remove(Object o)
Всегда возвраты false.
|
boolean |
removeAll(Collection<?> c)
Всегда возвраты false.
|
boolean |
retainAll(Collection<?> c)
Всегда возвраты false.
|
int |
size()
Всегда нуль возвратов.
|
E |
take()
Получает и удаляет главу этой очереди, ожидая в случае необходимости другого потока, чтобы вставить это.
|
Объект[] |
toArray()
Возвращает массив нулевой длиной.
|
<T> T[] |
toArray(T[] a)
Устанавливает zeroeth элемент указанного массива к null (если у массива есть ненулевая длина), и возвращает это.
|
add, addAll, element, remove
toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
добавить
addAll, equals, hashCode, parallelStream, removeIf, spliterator, stream
forEach
public SynchronousQueue()
public SynchronousQueue(boolean fair)
fair
- если это правда, потоки ожидания спорят в порядке FIFO на доступ; иначе порядок является неуказанным.public void put(E e) throws InterruptedException
put
в интерфейсе BlockingQueue<E>
e
- элемент, чтобы добавитьInterruptedException
- если прервано, ожидаяNullPointerException
- если указанный элемент является нулемpublic boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
offer
в интерфейсе BlockingQueue<E>
e
- элемент, чтобы добавитьtimeout
- сколько времени ожидать перед отказом в модулях unitunit
- TimeUnit, определяющий, как интерпретировать параметр timeoutInterruptedException
- если прервано, ожидаяNullPointerException
- если указанный элемент является нулемpublic boolean offer(E e)
offer
в интерфейсе BlockingQueue<E>
offer
в интерфейсе Queue<E>
e
- элемент, чтобы добавитьNullPointerException
- если указанный элемент является нулемpublic E take() throws InterruptedException
take
в интерфейсе BlockingQueue<E>
InterruptedException
- если прервано, ожидаяpublic E poll(long timeout, TimeUnit unit) throws InterruptedException
poll
в интерфейсе BlockingQueue<E>
timeout
- сколько времени ожидать перед отказом в модулях unitunit
- TimeUnit, определяющий, как интерпретировать параметр timeoutInterruptedException
- если прервано, ожидаяpublic E poll()
public boolean isEmpty()
isEmpty
в интерфейсе Collection<E>
isEmpty
в class AbstractCollection<E>
public int size()
size
в интерфейсе Collection<E>
size
в class AbstractCollection<E>
public int remainingCapacity()
remainingCapacity
в интерфейсе BlockingQueue<E>
public void clear()
clear
в интерфейсе Collection<E>
clear
в class AbstractQueue<E>
public boolean contains(Object o)
contains
в интерфейсе Collection<E>
contains
в интерфейсе BlockingQueue<E>
contains
в class AbstractCollection<E>
o
- элементpublic boolean remove(Object o)
remove
в интерфейсе Collection<E>
remove
в интерфейсе BlockingQueue<E>
remove
в class AbstractCollection<E>
o
- элемент, чтобы удалитьpublic boolean containsAll(Collection<?> c)
containsAll
в интерфейсе Collection<E>
containsAll
в class AbstractCollection<E>
c
- наборAbstractCollection.contains(Object)
public boolean removeAll(Collection<?> c)
removeAll
в интерфейсе Collection<E>
removeAll
в class AbstractCollection<E>
c
- наборAbstractCollection.remove(Object)
, AbstractCollection.contains(Object)
public boolean retainAll(Collection<?> c)
retainAll
в интерфейсе Collection<E>
retainAll
в class AbstractCollection<E>
c
- наборAbstractCollection.remove(Object)
, AbstractCollection.contains(Object)
public E peek()
public Iterator<E> iterator()
iterator
в интерфейсе Iterable<E>
iterator
в интерфейсе Collection<E>
iterator
в class AbstractCollection<E>
public Object[] toArray()
toArray
в интерфейсе Collection<E>
toArray
в class AbstractCollection<E>
public <T> T[] toArray(T[] a)
toArray
в интерфейсе Collection<E>
toArray
в class AbstractCollection<E>
a
- массивNullPointerException
- если указанный массив является нулемpublic int drainTo(Collection<? super E> c)
BlockingQueue
drainTo
в интерфейсе BlockingQueue<E>
c
- набор, чтобы передать элементы вUnsupportedOperationException
- если добавление элементов не поддерживается указанным наборомClassCastException
- если class элемента этой очереди препятствует тому, чтобы это было добавлено к указанному наборуNullPointerException
- если указанный набор является нулемIllegalArgumentException
- если указанный набор является этой очередью, или некоторое свойство элемента этой очереди препятствует тому, чтобы это было добавлено к указанному наборуpublic int drainTo(Collection<? super E> c, int maxElements)
BlockingQueue
drainTo
в интерфейсе BlockingQueue<E>
c
- набор, чтобы передать элементы вmaxElements
- максимальное количество элементов, чтобы передатьUnsupportedOperationException
- если добавление элементов не поддерживается указанным наборомClassCastException
- если class элемента этой очереди препятствует тому, чтобы это было добавлено к указанному наборуNullPointerException
- если указанный набор является нулемIllegalArgumentException
- если указанный набор является этой очередью, или некоторое свойство элемента этой очереди препятствует тому, чтобы это было добавлено к указанному набору
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92