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.Interop.IJavaPeerable, 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.
Этот класс и его итератор реализуют все <методы Collection
em>необязательных</em> интерфейсов и Iterator
интерфейсов.
Этот класс является членом Платформы коллекций Java.
Добавлено в версии 1.5.
Документация по Java для java.util.concurrent.SynchronousQueue
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
SynchronousQueue() |
|
SynchronousQueue(Boolean) |
Создает указанную |
SynchronousQueue(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
Class |
Возвращает класс среды выполнения этого |
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) |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
Iterator() |
Возвращает пустой итератор, в котором |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
Offer(Object) |
Вставляет указанный элемент в эту очередь, если другой поток ожидает его получения. |
Offer(Object, Int64, TimeUnit) |
Вставляет указанный элемент в эту очередь, ожидая до указанного времени ожидания для получения другого потока. |
Peek() |
Всегда возвращает значение |
Poll() |
Извлекает и удаляет голову этой очереди, если другой поток в настоящее время делает элемент доступным. |
Poll(Int64, TimeUnit) |
Извлекает и удаляет голову этой очереди, ожидая, если требуется до указанного времени ожидания, для вставки другого потока. |
Put(Object) |
Добавляет указанный элемент в эту очередь, ожидая получения другого потока. |
RemainingCapacity() |
Всегда возвращает значение 0. |
Remove() |
Извлекает и удаляет голову этой очереди. (Унаследовано от AbstractQueue) |
Remove(Object) |
Добавление (Унаследовано от AbstractCollection) |
RemoveAll(ICollection) |
Добавление (Унаследовано от AbstractCollection) |
RetainAll(ICollection) |
Добавление (Унаследовано от AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
Size() |
Всегда возвращает значение 0. |
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, в которой каждая операция вставки должна ожидать соответствующей операции удаления другим потоком и наоборот. |