ArrayBlockingQueue 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
由数组支持的有限 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> 方法Collection
。Iterator
此类是 Java 集合框架的成员。
在 1.5 中添加。
的 java.util.concurrent.ArrayBlockingQueue
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
ArrayBlockingQueue(Int32) |
创建具有 |
ArrayBlockingQueue(Int32, Boolean) |
|
ArrayBlockingQueue(Int32, Boolean, ICollection) |
创建具有 |
ArrayBlockingQueue(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
Class |
返回此 |
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) |
如果可以在不超出队列的容量的情况下立即执行此操作,则在此队列的末尾插入指定的元素,如果成功且 |
Offer(Object, Int64, TimeUnit) |
在此队列的末尾插入指定的元素,等待指定的等待时间,如果队列已满,空间将变为可用。 |
Peek() |
检索(但不删除)此队列的头,如果此队列为空,则 |
Poll() |
检索并删除此队列的头,如果此队列为空,则返回 |
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() |
在此 |
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 阻塞队列。 |