Язык

SynchronousQueue Класс

Определение

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

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

Комментарии

Очередь блокировки БлокироватьQueue, в которой каждая операция вставки должна ожидать соответствующей операции удаления другим потоком и наоборот. Синхронная очередь не имеет внутренней емкости, а не емкости одного. Вы не можете в синхронной очереди, так как элемент присутствует только при попытке удалить его; вы не можете peek вставить элемент (с помощью любого метода), если другой поток не пытается удалить его; вы не можете выполнить итерацию, так как нет ничего для итерации. Em <head/em>< очереди — это элемент, который первый поток вставки в очередь пытается добавить в очередь; если такой поток не существует, элемент недоступен для удаления и > возвращаетсяpoll().null В целях других Collection методов (например contains, в SynchronousQueue качестве пустой коллекции действует пустая коллекция). Эта очередь не разрешает null элементы.

Синхронные очереди похожи на каналы, используемые в CSP и Ada. Они хорошо подходят для макетов передачи, в которых объект, работающий в одном потоке, должен синхронизироваться с объектом, работающим в другом потоке, чтобы передать ему некоторую информацию, событие или задачу.

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

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

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

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

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

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

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

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

SynchronousQueue Создает политику доступа nonfair.

SynchronousQueue(Boolean)

Создает указанную SynchronousQueue политику справедливости.

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

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

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

Возвращает пустой итератор, в котором hasNext всегда возвращается false.

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

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

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

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

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

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

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

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

Offer(Object)

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

Peek()

Всегда возвращает значение null.

Poll()

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

Poll(Int64, TimeUnit)

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

Put(Object)

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

RemainingCapacity()

Всегда возвращает значение 0.

Remove()

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

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

Добавление

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

Добавление

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

Добавление

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

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

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

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

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

Всегда возвращает значение 0.

Spliterator()

Возвращает пустой разбиение, в котором вызовы всегда Spliterator#trySplit() trySplit возвращаются null.

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.

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