Share via


ConcurrentLinkedQueue 類別

定義

以連結節點為基礎的未系結執行緒安全佇列佇列。

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

備註

以連結節點為基礎的未系結執行緒安全佇列佇列。 此佇列會排序 FIFO (先進先出) 。 <佇列的 em > head < /em > 是已在佇列上最長時間的專案。 <佇列的 em > tail < /em > 是已在佇列上最短時間的專案。 新元素會插入佇列結尾,而佇列擷取作業會取得佇列前端的專案。 ConcurrentLinkedQueue當許多執行緒將共用通用集合的存取權時,是適當的選擇。 如同大部分的其他並行集合實作,這個類別不允許使用 null 元素。

此實作會根據 Maged M. Michael 和 Michael L. Scott 所述的簡單、快速和實用非封鎖和封鎖並行佇列演算法中所述,採用有效率 < 的 em > 非封鎖 < /em > 演算法。

反覆運算器在某個時間點或建立反覆運算器之後,傳回反映佇列狀態的 元素弱式一致。 <> 它們不會 >< 擲回 java.util.ConcurrentModificationException ,而且可能會與其他作業同時繼續進行。 佇列中包含的元素,因為建立反覆運算器只會傳回一次。

請注意,與大部分集合不同的是, size 此方法是 < em > NOT < /em > 常數時間作業。 由於這些佇列的非同步本質,判斷目前的元素數目需要元素的周遊,因此在周遊期間修改此集合時,可能會報告不正確的結果。

新增、移除或檢查多個元素的大量作業,例如 #addAll#removeIf#forEach ,保證 >< 不會 < /em > 以不可部分完成的方式執行。 例如, forEach 與作業並行 addAll 的周遊可能只會觀察一些新增的專案。

這個類別及其反覆運算器會實作 和 Iterator 介面的所有 < em > 選擇性 < /em > 方法 Queue

記憶體一致性效果:如同其他並行集合,在將物件放入 i > 發生之前 < /i > 動作之前,執行緒中的動作會從 ConcurrentLinkedQueue 另一 ConcurrentLinkedQueue< 個執行緒中的 存取或移除該元素。

這個類別是 JAVA Collections Framework的成員。

在 1.5 中新增。

java.util.concurrent.ConcurrentLinkedQueue JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

ConcurrentLinkedQueue()

ConcurrentLinkedQueue建立一開始是空的 。

ConcurrentLinkedQueue(ICollection)

ConcurrentLinkedQueue建立一開始包含指定集合的專案,並依集合反覆運算器的周遊順序新增。

ConcurrentLinkedQueue(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

屬性

Class

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

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsEmpty

要新增

(繼承來源 AbstractCollection)
JniIdentityHashCode

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
JniPeerMembers

以連結節點為基礎的未系結執行緒安全佇列佇列。

PeerReference

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

Add(Object)

要新增

(繼承來源 AbstractCollection)
AddAll(ICollection)

要新增

(繼承來源 AbstractCollection)
Clear()

要新增

(繼承來源 AbstractCollection)
Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
Contains(Object)

要新增

(繼承來源 AbstractCollection)
ContainsAll(ICollection)

要新增

(繼承來源 AbstractCollection)
Dispose()

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
Dispose(Boolean)

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
Element()

擷取,但不會移除此佇列的前端。

(繼承來源 AbstractQueue)
Equals(Object)

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

(繼承來源 Object)
ForEach(IConsumer)

以連結節點為基礎的未系結執行緒安全佇列佇列。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
Iterator()

依適當順序傳回此佇列中元素的反覆運算器。

JavaFinalize()

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

(繼承來源 Object)
Notify()

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

(繼承來源 Object)
NotifyAll()

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

(繼承來源 Object)
Offer(Object)

將指定的專案插入這個佇列的結尾。

Peek()

擷取但不會移除此佇列的前端,如果這個佇列是空的,則傳 null 回 。

Poll()

擷取並移除此佇列的前端,如果這個佇列是空的,則傳 null 回 。

Remove()

擷取並移除此佇列的前端。

(繼承來源 AbstractQueue)
Remove(Object)

要新增

(繼承來源 AbstractCollection)
RemoveAll(ICollection)

要新增

(繼承來源 AbstractCollection)
RemoveIf(IPredicate)

以連結節點為基礎的未系結執行緒安全佇列佇列。

RetainAll(ICollection)

要新增

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

設定 Handle 屬性。

(繼承來源 Object)
Size()

傳回此佇列中的專案數目。

Spliterator()

Spliterator 回這個佇列中專案的 。

ToArray()

要新增

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

要新增

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

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

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

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

以連結節點為基礎的未系結執行緒安全佇列佇列。

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

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

以連結節點為基礎的未系結執行緒安全佇列佇列。

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

以連結節點為基礎的未系結執行緒安全佇列佇列。

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

以連結節點為基礎的未系結執行緒安全佇列佇列。

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

以連結節點為基礎的未系結執行緒安全佇列佇列。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

以連結節點為基礎的未系結執行緒安全佇列佇列。

GetJniTypeName(IJavaPeerable)

以連結節點為基礎的未系結執行緒安全佇列佇列。

ToEnumerable(IIterable)

以連結節點為基礎的未系結執行緒安全佇列佇列。

ToEnumerable<T>(IIterable)

以連結節點為基礎的未系結執行緒安全佇列佇列。

適用於