Share via


ArrayBlockingQueue 类

定义

由数组支持的有限 BlockingQueue 阻塞队列。

[Android.Runtime.Register("java/util/concurrent/ArrayBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, 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
继承
属性
实现

注解

由数组支持的有限 BlockingQueue 阻塞队列。 此队列对 FIFO (先入先出) 元素进行排序。 <队列的 em>head</em> 是队列中已存在时间最长的元素。 <队列的 em>tail</em> 是已位于队列中最短时间的元素。 新元素插入到队列的末尾,队列检索操作在队列的头获取元素。

这是一个经典的 &商:边界缓冲区",其中固定大小的数组保存由生成者插入并由使用者提取的元素。 创建后,无法更改容量。 put尝试将元素放入完整队列将导致操作阻塞;尝试从空队列对元素的尝试take同样会阻止。

此类支持用于订购等待生成者和使用者线程的可选公平性策略。 默认情况下,无法保证此排序。 但是,使用公平设置构造的队列,以 true 按 FIFO 顺序授予线程访问权限。 公平通常会降低吞吐量,但会减少可变性并避免饥饿。

此类及其迭代器实现 和 接口的所有 <em>可选</em> 方法CollectionIterator

此类是 Java 集合框架的成员。

在 1.5 中添加。

java.util.concurrent.ArrayBlockingQueueJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

构造函数

ArrayBlockingQueue(Int32)

创建具有 ArrayBlockingQueue 给定 (固定) 容量和默认访问策略的 。

ArrayBlockingQueue(Int32, Boolean)

ArrayBlockingQueue创建具有给定 (固定) 容量和指定的访问策略的 。

ArrayBlockingQueue(Int32, Boolean, ICollection)

创建具有 ArrayBlockingQueue 给定 (固定) 容量、指定的访问策略,并最初包含给定集合的元素(按集合迭代器遍历顺序添加)的 。

ArrayBlockingQueue(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsEmpty

要添加

(继承自 AbstractCollection)
JniIdentityHashCode

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
JniPeerMembers

由数组支持的有限 BlockingQueue 阻塞队列。

PeerReference

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

方法

Add(Object)

要添加

(继承自 AbstractCollection)
AddAll(ICollection)

要添加

(继承自 AbstractCollection)
Clear()

要添加

(继承自 AbstractCollection)
Clone()

创建并返回此对象的副本。

(继承自 Object)
Contains(Object)

要添加

(继承自 AbstractCollection)
ContainsAll(ICollection)

要添加

(继承自 AbstractCollection)
Dispose()

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
Dispose(Boolean)

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
DrainTo(ICollection)

由数组支持的有限 BlockingQueue 阻塞队列。

DrainTo(ICollection, Int32)

由数组支持的有限 BlockingQueue 阻塞队列。

Element()

检索(但不删除)此队列的头。

(继承自 AbstractQueue)
Equals(Object)

指示其他某个对象是否“等于”此对象。

(继承自 Object)
ForEach(IConsumer)

由数组支持的有限 BlockingQueue 阻塞队列。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
Iterator()

以适当的顺序返回此队列中元素的迭代器。

JavaFinalize()

当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Offer(Object)

如果可以在不超出队列的容量的情况下立即执行此操作,则在此队列的末尾插入指定的元素,如果成功且false此队列已满,则返回 true

Offer(Object, Int64, TimeUnit)

在此队列的末尾插入指定的元素,等待指定的等待时间,如果队列已满,空间将变为可用。

Peek()

检索(但不删除)此队列的头,如果此队列为空,则 null 返回 。

Poll()

检索并删除此队列的头,如果此队列为空,则返回 null

Poll(Int64, TimeUnit)

检索并删除此队列的头,并在必要时等待指定的等待时间,使元素变得可用。

Put(Object)

在此队列的末尾插入指定的元素,如果队列已满,则等待可用空间。

RemainingCapacity()

返回理想情况下,此队列在没有内存或资源约束的情况下可以 (的其他元素数,) 接受而不阻止。

Remove()

检索并删除此队列的头。

(继承自 AbstractQueue)
Remove(Object)

要添加

(继承自 AbstractCollection)
RemoveAll(ICollection)

要添加

(继承自 AbstractCollection)
RemoveIf(IPredicate)

由数组支持的有限 BlockingQueue 阻塞队列。

RetainAll(ICollection)

要添加

(继承自 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
Size()

返回此队列中的元素数。

Spliterator()

在此 Spliterator 队列中的元素上返回 。

Take()

检索并删除此队列的头,并在必要时等待元素可用。

ToArray()

要添加

(继承自 AbstractCollection)
ToArray(Object[])

要添加

(继承自 AbstractCollection)
ToArray<T>()

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
IJavaPeerable.Finalized()

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

由数组支持的有限 BlockingQueue 阻塞队列。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

由数组支持的有限 BlockingQueue 阻塞队列。

GetJniTypeName(IJavaPeerable)

由数组支持的有限 BlockingQueue 阻塞队列。

OfferAsync(IBlockingQueue, Object)

由数组支持的有限 BlockingQueue 阻塞队列。

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

由数组支持的有限 BlockingQueue 阻塞队列。

PollAsync(IBlockingQueue, Int64, TimeUnit)

由数组支持的有限 BlockingQueue 阻塞队列。

PutAsync(IBlockingQueue, Object)

由数组支持的有限 BlockingQueue 阻塞队列。

TakeAsync(IBlockingQueue)

由数组支持的有限 BlockingQueue 阻塞队列。

ToEnumerable(IIterable)

由数组支持的有限 BlockingQueue 阻塞队列。

ToEnumerable<T>(IIterable)

由数组支持的有限 BlockingQueue 阻塞队列。

适用于