語言

LinkedTransferQueue 類別

定義

一個基於連結節點的無界。TransferQueue

[Android.Runtime.Register("java/util/concurrent/LinkedTransferQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class LinkedTransferQueue : Java.Util.AbstractQueue, IDisposable, Java.IO.ISerializable, Java.Util.Concurrent.ITransferQueue
[<Android.Runtime.Register("java/util/concurrent/LinkedTransferQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LinkedTransferQueue = class
    inherit AbstractQueue
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ITransferQueue
    interface IBlockingQueue
    interface IQueue
    interface ICollection
    interface IIterable
繼承
屬性
實作

備註

一個基於連結節點的無界。TransferQueue 此佇列對任意產生器進行先入先出(FIFO)排序。 <排隊的 em>head</em> 是指某個生產者在排隊中待得最久的那個元素。 <em>tail</em> of queue 是指某個生產者在隊列中待得最短的元素。

請注意,與大多數集合不同,該 size 方法是 <em>NOT</em> 為常數時間操作。 由於這些佇列是非同步的,要確定目前元素的數量需要遍歷元素,因此若在遍歷過程中修改此集合,可能會報告不準確的結果。

加入、移除或檢查多個元素的 #addAll批量操作,如 , #removeIf#forEach或 ,則是 <em>not</> em 保證會以原子方式執行。 例如,與操作forEach同時進行addAll的遍歷可能只觀察到部分新增元素。

這個類別及其迭代器實作了 和 介面中所有 <em>可選</em> 方法Collection。Iterator

記憶體一致性效應:與其他並行集合一樣,執行緒中在將物件放入 LinkedTransferQueue<i><> 之前/i 之前的動作,發生在該元素LinkedTransferQueue從另一個執行緒中移除後。

此類別是 Java 集合框架的成員。

在 1.7 版本中加入。

Java 文件 java.util.concurrent.LinkedTransferQueue。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
LinkedTransferQueue()

會產生一個初始空 LinkedTransferQueue的 。

LinkedTransferQueue(ICollection)

建立初始包含給定集合元素的 , LinkedTransferQueue 並依照集合迭代器的遍歷順序加入。

LinkedTransferQueue(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

名稱 Description
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
HasWaitingConsumer

若至少有一位消費者等待透過或定true時接收元素Take(),則回傳Poll(Int64, TimeUnit)。

IsEmpty

待補充

(繼承來源 AbstractCollection)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
JniPeerMembers

一個基於連結節點的無界。TransferQueue

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

WaitingConsumerCount

回傳一個估計的消費者數量,該使用者等待透過 Take() 或定 Poll(Int64, TimeUnit)時接收元素。

方法

名稱 Description
Add(Object)

待補充

(繼承來源 AbstractCollection)
AddAll(ICollection)

待補充

(繼承來源 AbstractCollection)
Clear()

待補充

(繼承來源 AbstractCollection)
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
Contains(Object)

待補充

(繼承來源 AbstractCollection)
ContainsAll(ICollection)

待補充

(繼承來源 AbstractCollection)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
DrainTo(ICollection, Int32)

最多從該佇列中移除指定數量的可用元素,並將其加入給定的集合中。

DrainTo(ICollection)

從此佇列中移除所有可用元素,並將其加入給定的集合中。

Element()

擷取但不移除此隊列的首端。

(繼承來源 AbstractQueue)
Equals(Object)

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
ForEach(IConsumer)

對可迭代的每個元素執行指定動作,直到所有元素處理完畢或動作拋出例外為止。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
Iterator()

會依正確順序回傳佇列中元素的迭代器。

JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Offer(Object, Int64, TimeUnit)

將指定元素插入該佇列尾部。

Offer(Object)

將指定元素插入該佇列尾部。

Peek()

擷取但不移除該佇列的首部,若該佇列為空則返回 null 。

Poll()

擷取並移除此佇列的首,或若佇列為空則返回 null 。

Poll(Int64, TimeUnit)

擷取並移除此佇列的頭部,必要時會等待指定等待時間以讓元素可用。

Put(Object)

將指定元素插入該佇列尾部。

RemainingCapacity()

總是回傳 Integer.MAX_VALUE ,因為 a LinkedTransferQueue 不受容量限制。

Remove()

擷取並移除此佇列的頭部。

(繼承來源 AbstractQueue)
Remove(Object)

待補充

(繼承來源 AbstractCollection)
RemoveAll(ICollection)

待補充

(繼承來源 AbstractCollection)
RemoveIf(IPredicate)

移除該集合中所有滿足該謂詞的元素。

RetainAll(ICollection)

待補充

(繼承來源 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
Size()

回傳此佇列中的元素數量。

Spliterator()

回傳 a Spliterator 對佇列中的元素。

Take()

擷取並移除此佇列的頭部,必要時等待元素可用。

ToArray()

待補充

(繼承來源 AbstractCollection)
ToArray(Object[])

待補充

(繼承來源 AbstractCollection)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
Transfer(Object)

將元素轉移給消費者,必要時等待。

TryTransfer(Object, Int64, TimeUnit)

若能在逾時期內將元件轉移給消費者,則會進行。

TryTransfer(Object)

如果可能,立即將元件轉移給等待中的消費者。

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

一個基於連結節點的無界。TransferQueue

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

一個基於連結節點的無界。TransferQueue

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

一個基於連結節點的無界。TransferQueue

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

一個基於連結節點的無界。TransferQueue

OfferAsync(IBlockingQueue, Object)

一個基於連結節點的無界。TransferQueue

PollAsync(IBlockingQueue, Int64, TimeUnit)

一個基於連結節點的無界。TransferQueue

PutAsync(IBlockingQueue, Object)

一個基於連結節點的無界。TransferQueue

TakeAsync(IBlockingQueue)

一個基於連結節點的無界。TransferQueue

ToEnumerable(IIterable)

回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 foreach 和 LINQ 與 Java 集合類型一起使用。 每個元素都會從其 Java 實例編組到對應的受管理型別。

ToEnumerable<T>(IIterable)

回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 T。 這使得 foreach LINQ 可以搭配 Java 集合類型一起使用。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於