ArrayBlockingQueue Класс

Определение

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

[Android.Runtime.Register("java/util/concurrent/ArrayBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/ArrayBlockingQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ArrayBlockingQueue = class
    inherit AbstractQueue
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IBlockingQueue
    interface IQueue
    interface ICollection
    interface IIterable
Наследование
Атрибуты
Реализации

Комментарии

Ограниченная очередь блокировокQueue, поддерживаемая массивом. Эта очередь заказывает элементы FIFO (первым в порядке). Em <>head</em> очереди — это элемент, который был в очереди дольше всего. >Em <tail</em> очереди — это элемент, который был в очереди в кратчайшие сроки. Новые элементы вставляются в конце очереди, а операции извлечения очереди получают элементы в начале очереди.

Это классическое " ограниченный буфер", в котором массив фиксированного размера содержит элементы, вставленные производителями и извлеченные потребителями. После создания емкость изменить нельзя. Попытки перейти put к элементу в полную очередь приведут к блокировке операции; попытки перейти к элементу take из пустой очереди будут аналогичным образом блокироваться.

Этот класс поддерживает необязательную политику справедливости для упорядочения ожидающих потоков производителя и потребителя. По умолчанию такое упорядочение не гарантируется. Однако очередь, созданная с параметром true справедливости, предоставляет потокам доступ в порядке FIFO. Справедливость обычно снижает пропускную способность, но снижает вариативность и позволяет избежать голода.

Этот класс и его итератор реализуют все <необязательные< методы Collection em>/em> интерфейсов и Iterator .

Этот класс является членом Платформы коллекций Java.

Добавлено в версии 1.5.

Документация по Java для java.util.concurrent.ArrayBlockingQueue.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Конструкторы

ArrayBlockingQueue(Int32)

Создает с заданной ArrayBlockingQueue (фиксированной) емкостью и политикой доступа по умолчанию.

ArrayBlockingQueue(Int32, Boolean)

Создает объект с заданной ArrayBlockingQueue (фиксированной) емкостью и указанной политикой доступа.

ArrayBlockingQueue(Int32, Boolean, ICollection)

Создает объект с заданной ArrayBlockingQueue (фиксированной) емкостью, указанной политикой доступа и изначально содержащим элементы данной коллекции, добавленные в порядке обхода итератора коллекции.

ArrayBlockingQueue(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsEmpty

Добавление

(Унаследовано от AbstractCollection)
JniIdentityHashCode

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
JniPeerMembers

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

PeerReference

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Add(Object)

Добавление

(Унаследовано от AbstractCollection)
AddAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
Clear()

Добавление

(Унаследовано от AbstractCollection)
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Contains(Object)

Добавление

(Унаследовано от AbstractCollection)
ContainsAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
Dispose()

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
Dispose(Boolean)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
DrainTo(ICollection)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

DrainTo(ICollection, Int32)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

Element()

Извлекает, но не удаляет, головку этой очереди.

(Унаследовано от AbstractQueue)
Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
ForEach(IConsumer)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
Iterator()

Возвращает итератор по элементам в этой очереди в правильной последовательности.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего на мониторе этого объекта.

(Унаследовано от Object)
NotifyAll()

Активирует все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
Offer(Object)

Вставляет указанный элемент в конце очереди, если это можно сделать немедленно, не превышая емкость очереди, возвращая true при успешном выполнении и false если эта очередь заполнена.

Offer(Object, Int64, TimeUnit)

Вставляет указанный элемент в конце этой очереди, ожидая до указанного времени ожидания, чтобы пространство стало доступным, если очередь заполнена.

Peek()

Извлекает, но не удаляет головку этой очереди или возвращает null значение , если очередь пуста.

Poll()

Извлекает и удаляет головку этой очереди или возвращает null значение , если очередь пуста.

Poll(Int64, TimeUnit)

Извлекает и удаляет головку этой очереди, ожидая до указанного времени ожидания, если это необходимо для того, чтобы элемент стал доступным.

Put(Object)

Вставляет указанный элемент в конце очереди, ожидая, пока пространство станет доступным, если очередь заполнена.

RemainingCapacity()

Возвращает количество дополнительных элементов, которые эта очередь может в идеале (при отсутствии ограничений памяти или ресурсов) принимать без блокировки.

Remove()

Извлекает и удаляет головку этой очереди.

(Унаследовано от AbstractQueue)
Remove(Object)

Добавление

(Унаследовано от AbstractCollection)
RemoveAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
RemoveIf(IPredicate)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

RetainAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
Size()

Возвращает количество элементов в этой очереди.

Spliterator()

Возвращает объект для Spliterator элементов в этой очереди.

Take()

Извлекает и удаляет головку этой очереди, при необходимости ожидая, пока элемент не станет доступным.

ToArray()

Добавление

(Унаследовано от AbstractCollection)
ToArray(Object[])

Добавление

(Унаследовано от AbstractCollection)
ToArray<T>()

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

(Унаследовано от Object)
Wait(Int64)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

GetJniTypeName(IJavaPeerable)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

OfferAsync(IBlockingQueue, Object)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

PollAsync(IBlockingQueue, Int64, TimeUnit)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

PutAsync(IBlockingQueue, Object)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

TakeAsync(IBlockingQueue)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

ToEnumerable(IIterable)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

ToEnumerable<T>(IIterable)

Ограниченная очередь блокировокQueue, поддерживаемая массивом.

Применяется к