ITransferQueue 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个 BlockingQueue 生成者可以等待使用者接收元素。
[Android.Runtime.Register("java/util/concurrent/TransferQueue", "", "Java.Util.Concurrent.ITransferQueueInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface ITransferQueue : IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/TransferQueue", "", "Java.Util.Concurrent.ITransferQueueInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ITransferQueue = interface
interface IBlockingQueue
interface IQueue
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 派生
- 属性
- 实现
注解
一个 BlockingQueue 生成者可以等待使用者接收元素。 例如,在TransferQueue消息传递应用程序中,生成者有时(使用方法#transfer)等待调用takepoll元素的接收,或者在其他时候排队元素(通过方法put)而不等待接收。 #tryTransfer(对象)非阻塞和 #tryTransfer(Object,long,TimeUnit)超时版本 tryTransfer 也可用。 还可以通过#hasWaitingConsumer查询某个TransferQueue线程来等待项,这是与操作相反的peek类比。
与其他阻止队列一样, TransferQueue 可能已绑定容量。 如果是这样,尝试的传输操作最初可能会阻止等待可用空间,并且/或随后阻止等待使用者的接收。 请注意,在容量为零的队列中,例如SynchronousQueue,并且transfer实际上是同义put词。
此接口是 Java Collections Framework 的成员。
已在 1.7 中添加。
Java文档java.util.concurrent.TransferQueue。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
属性
| 名称 | 说明 |
|---|---|
| Handle |
获取基础 Android 对象的 JNI 值。 (继承自 IJavaObject) |
| HasWaitingConsumer |
|
| IsEmpty |
如果不包含 |
| JniIdentityHashCode |
返回包装实例的值 |
| JniManagedPeerState |
托管对等方的状态。 (继承自 IJavaPeerable) |
| JniPeerMembers |
成员访问和调用支持。 (继承自 IJavaPeerable) |
| PeerReference |
返回JniObjectReference包装的Java对象实例。 (继承自 IJavaPeerable) |
| WaitingConsumerCount |
返回等待通过 Take() 或计时 Poll(Int64, TimeUnit)接收元素的使用者数的估计值。 |
方法
| 名称 | 说明 |
|---|---|
| Add(Object) |
如果可以立即执行此操作而不违反容量限制,则向此队列插入指定的元素,并在成功后返回 |
| AddAll(ICollection) |
将指定集合中的所有元素添加到此集合(可选操作)。 (继承自 ICollection) |
| Clear() |
从此集合中删除所有元素(可选操作)。 (继承自 ICollection) |
| Contains(Object) |
返回 |
| ContainsAll(ICollection) |
如果 |
| Disposed() |
在释放实例时调用。 (继承自 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果没有对此实例的未完成引用,则调用 |
| DrainTo(ICollection, Int32) |
从此队列中移除最多给定数量的可用元素,并将其添加到给定集合。 (继承自 IBlockingQueue) |
| DrainTo(ICollection) |
从此队列中删除所有可用元素,并将其添加到给定集合。 (继承自 IBlockingQueue) |
| Element() |
检索此队列的头,但不删除。 (继承自 IQueue) |
| Equals(Object) |
将指定的对象与此集合进行比较,以便相等。 (继承自 ICollection) |
| Finalized() |
在实例完成时调用。 (继承自 IJavaPeerable) |
| ForEach(IConsumer) |
对每个元素执行给定操作,直到处理完所有元素 |
| GetHashCode() |
返回此集合的哈希代码值。 (继承自 ICollection) |
| Iterator() |
返回此集合中元素的迭代器。 (继承自 ICollection) |
| Offer(Object, Int64, TimeUnit) |
将指定的元素插入到此队列中,如果需要空间可用,则等待指定的等待时间。 (继承自 IBlockingQueue) |
| Offer(Object) |
如果可以立即执行此操作而不违反容量限制,请将指定的元素插入此队列中。 (继承自 IQueue) |
| Peek() |
检索但不删除此队列的头,或返回 |
| Poll() |
检索和删除此队列的头,或返回 |
| Poll(Int64, TimeUnit) |
检索并删除此队列的头,如有必要,等待指定的等待时间,使元素变得可用。 (继承自 IBlockingQueue) |
| Put(Object) |
将指定的元素插入到此队列中,如有必要,等待空间变为可用。 (继承自 IBlockingQueue) |
| RemainingCapacity() |
返回此队列理想情况下(在没有内存或资源约束的情况下)接受且没有阻塞或 |
| Remove() |
检索并删除此队列的头。 (继承自 IQueue) |
| Remove(Object) |
从此集合中删除指定元素的单个实例(如果存在)(可选操作)。 (继承自 ICollection) |
| RemoveAll(ICollection) |
删除指定集合中包含的所有此集合元素(可选操作)。 (继承自 ICollection) |
| RemoveIf(IPredicate) |
删除满足给定谓词的此集合的所有元素。 (继承自 ICollection) |
| RetainAll(ICollection) |
仅保留指定集合中包含的此集合中的元素(可选操作)。 (继承自 ICollection) |
| SetJniIdentityHashCode(Int32) |
设置由 |
| SetJniManagedPeerState(JniManagedPeerStates) |
一个 |
| SetPeerReference(JniObjectReference) |
设置由 |
| Size() |
返回此集合中的元素数。 (继承自 ICollection) |
| Spliterator() |
|
| Take() |
检索并删除此队列的头,如有必要,请等待元素可用。 (继承自 IBlockingQueue) |
| ToArray() |
返回一个数组,其中包含此集合中的所有元素。 (继承自 ICollection) |
| ToArray(IIntFunction) |
返回包含此集合中的所有元素的数组,该数组使用提供的 |
| ToArray(Object[]) |
返回一个数组,其中包含此集合中的所有元素;返回的数组的运行时类型是指定数组的运行时类型。 (继承自 ICollection) |
| Transfer(Object) |
将元素传输到使用者,如有必要,请等待。 |
| TryTransfer(Object, Int64, TimeUnit) |
如果可以在超时发生之前执行此操作,则将元素传输到使用者。 |
| TryTransfer(Object) |
如果可能,请立即将元素传输到等待使用者。 |
| UnregisterFromRuntime() |
取消注册此实例,使运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。 (继承自 IJavaPeerable) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IIterable.Spliterator() |
在此集合中的元素上创建一个 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
一个 |
| OfferAsync(IBlockingQueue, Object, Int64, TimeUnit) |
一个 |
| OfferAsync(IBlockingQueue, Object) |
一个 |
| PollAsync(IBlockingQueue, Int64, TimeUnit) |
一个 |
| PutAsync(IBlockingQueue, Object) |
一个 |
| TakeAsync(IBlockingQueue) |
一个 |
| ToEnumerable(IIterable) |
一个 |
| ToEnumerable<T>(IIterable) |
一个 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |