Язык

ConcurrentLinkedQueue Класс

Определение

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

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

Комментарии

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

Эта реализация использует эффективный <алгоритм неблокировки>< и эм>, основанный на одном из описанных в простых , быстрых и практических неблокирующих и блокирующих параллельных алгоритмах очереди Магед М. Майкл и Майкл Л. Скотт.

Итераторы слабо согласованы, возвращая элементы, отражающие состояние очереди в какой-то момент или после создания итератора. Они не<>/эм<> создаются java.util.ConcurrentModificationExceptionи могут выполняться параллельно с другими операциями. Элементы, содержащиеся в очереди после создания итератора, будут возвращены ровно один раз.

Убедитесь, что, в отличие от большинства коллекций, size метод em NOT</em> является <>операцией постоянного времени. Из-за асинхронной природы этих очередей определение текущего количества элементов требует обхода элементов и поэтому может сообщать неточные результаты, если эта коллекция изменяется во время обхода.

Массовые операции, добавляющие, удаляющие или проверяющие несколько элементов, таких как #addAllили #removeIf#forEach эм, не</em><>, гарантированно выполняются атомарно. Например, forEach обход параллельно с addAll операцией может наблюдать только некоторые из добавленных элементов.

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

Эффекты согласованности памяти: как и в других параллельных коллекциях, действия в потоке перед размещением объекта в ConcurrentLinkedQueue<действия i>happen-before</i> после доступа или удаления этого элемента из ConcurrentLinkedQueue другого потока.

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

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

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

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

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

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

Создает изначально пустой ConcurrentLinkedQueue объект.

ConcurrentLinkedQueue(ICollection)

ConcurrentLinkedQueue Создает изначально элементы данной коллекции, добавленные в порядке обхода итератора коллекции.

ConcurrentLinkedQueue(IntPtr, JniHandleOwnership)

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

Свойства

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

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

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

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

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

Добавление

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

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

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

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

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

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

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)

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

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

Добавление

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

Добавление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GetHashCode()

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

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

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

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

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

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

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

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

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

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

Вставляет указанный элемент в хвост этой очереди.

Peek()

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

Poll()

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

Remove()

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

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

Добавление

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

Добавление

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

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

RetainAll(ICollection)

Добавление

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

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

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

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

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

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

Spliterator()

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

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()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

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.

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