Язык

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.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 (first-in-first-out). Em <head>/em<> очереди — это элемент, который был в очереди дольше всего времени. Em <tail>/em<> очереди — это элемент, который был в очереди в течение короткого времени. Новые элементы вставляются в хвост очереди, а операции извлечения очереди получают элементы в голове очереди.

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

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

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

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

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

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

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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

Имя. Описание
ArrayBlockingQueue(Int32, Boolean, ICollection)

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

ArrayBlockingQueue(Int32, Boolean)

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

ArrayBlockingQueue(Int32)

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

ArrayBlockingQueue(IntPtr, JniHandleOwnership)

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

Свойства

Имя. Описание
Class

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

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

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

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

Добавление

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

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

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

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

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

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

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

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

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

ThresholdType

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

Методы

Имя. Описание
Add(Object)

Добавление

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

Добавление

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

Добавление

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

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

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

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

Добавление

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

Добавление

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

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

(Унаследовано от JavaObject)
DrainTo(ICollection, Int32)

Удаляет по крайней мере заданное количество доступных элементов из этой очереди и добавляет их в данную коллекцию.

DrainTo(ICollection)

Удаляет все доступные элементы из этой очереди и добавляет их в данную коллекцию.

Element()

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

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

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

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

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

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

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

GetHashCode()

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

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

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

JavaFinalize()
Устаревшие.

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

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

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

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

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

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

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

Offer(Object)

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

Peek()

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

Poll()

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

Poll(Int64, TimeUnit)

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

Put(Object)

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

RemainingCapacity()

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

Remove()

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

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

Добавление

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

Добавление

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

Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату.

RetainAll(ICollection)

Добавление

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

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

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

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

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

Spliterator()

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

Take()

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

ToArray()

Добавление

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

Добавление

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

Создает управляемый массив из этого Java оболочки массива.

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

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

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

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

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

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

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

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

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

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

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

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

Имя. Описание
IJavaPeerable.Disposed()

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

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

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

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

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

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

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

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

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

OfferAsync(IBlockingQueue, Object)

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

PollAsync(IBlockingQueue, Int64, TimeUnit)

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

PutAsync(IBlockingQueue, Object)

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

TakeAsync(IBlockingQueue)

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

ToEnumerable(IIterable)

Возвращает итерацию IEnumerable по JavaIIterable, позволяя foreach использовать LINQ с типами коллекций Java. Каждый элемент маршалируется из своего Java экземпляра в соответствующий управляемый тип.

ToEnumerable<T>(IIterable)

Возвращает итерацию IEnumerable<T> по JavaIIterable, маршалинг каждого элемента Tв . Это позволяет foreach использовать LINQ с типами коллекций Java.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

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