Поделиться через


LinkedBlockingQueue Класс

Определение

При необходимости привязанная очередь блокировки БлокировкиQueue на основе связанных узлов.

[Android.Runtime.Register("java/util/concurrent/LinkedBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class LinkedBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/LinkedBlockingQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LinkedBlockingQueue = 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>> очереди — это элемент, который был в очереди в течение короткого времени. Новые элементы вставляются в хвост очереди, а операции извлечения очереди получают элементы в голове очереди. Связанные очереди обычно имеют более высокую пропускную способность, чем очереди на основе массива, но менее прогнозируемую производительность в большинстве параллельных приложений.

Необязательный аргумент конструктора привязанной емкости служит способом предотвращения чрезмерного расширения очереди. Емкость, если не указана, равна Integer#MAX_VALUE. Связанные узлы динамически создаются при каждой вставке, если только это не приведет к превышению емкости очереди.

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

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

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

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

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

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

LinkedBlockingQueue()

LinkedBlockingQueue Создает емкость с емкостью Integer#MAX_VALUE.

LinkedBlockingQueue(ICollection)

LinkedBlockingQueue Создает емкость с начальной емкостьюInteger#MAX_VALUE, содержащей элементы данной коллекции, добавленную в порядке обхода итератора коллекции.

LinkedBlockingQueue(Int32)

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

LinkedBlockingQueue(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 или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>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 на основе связанных узлов.

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