ConcurrentLinkedQueue Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
File d’attente thread-safe non liée basée sur des nœuds liés.
[Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ConcurrentLinkedQueue : Java.Util.AbstractQueue, IDisposable, 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
- Héritage
- Attributs
- Implémente
Remarques
File d’attente thread-safe non liée basée sur des nœuds liés. Cette file d’attente trie les éléments FIFO (premier entré en premier sorti). La <tête> em</em> de la file d’attente est cet élément qui a été sur la file d’attente le plus long. La <queue> em</em> de la file d’attente est cet élément qui a été dans la file d’attente le plus court temps. De nouveaux éléments sont insérés à la fin de la file d’attente et les opérations de récupération de file d’attente obtiennent des éléments à la tête de la file d’attente. Il ConcurrentLinkedQueue s’agit d’un choix approprié lorsque de nombreux threads partagent l’accès à une collection commune. Comme la plupart des autres implémentations de collection simultanées, cette classe n’autorise pas l’utilisation d’éléments null .
Cette implémentation utilise un <>algorithme efficace non bloquant</em> basé sur un algorithme décrit dans Simple, Rapide et Pratique non bloquant et bloquant des algorithmes de file d’attente simultanées par Maged M. Michael et Michael L. Scott.
Les itérateurs sont faiblement cohérents, retournant des éléments reflétant l’état de la file d’attente à un moment donné ou depuis la création de l’itérateur. Ils ne lèvent <><pas>/emjava.util.ConcurrentModificationException et peuvent continuer simultanément avec d’autres opérations. Les éléments contenus dans la file d’attente depuis la création de l’itérateur sont retournés exactement une seule fois.
Attention à ce que, contrairement à la plupart des collections, la size méthode est <em>NOT</em> une opération de temps constant. En raison de la nature asynchrone de ces files d’attente, la détermination du nombre actuel d’éléments nécessite une traversée des éléments, et peut donc signaler des résultats incorrects si cette collection est modifiée pendant la traversée.
Les opérations en bloc qui ajoutent, suppriment ou examinent plusieurs éléments, tels que #addAll, #removeIf ou #forEach, ne sont<> pas</em> garanties d’être effectuées atomiquement. Par exemple, une forEach traversée simultanée avec une addAll opération peut observer uniquement certains des éléments ajoutés.
Cette classe et son itérateur implémentent toutes les <méthodes em>optional</em> des Queue interfaces.Iterator
Effets de cohérence de la mémoire : comme avec d’autres collections simultanées, les actions d’un thread avant de placer un objet dans un ConcurrentLinkedQueue<i>happen-before</i> actions suite à l’accès ou à la suppression de cet élément dans ConcurrentLinkedQueue un autre thread.
Cette classe est membre de l’infrastructure de collections Java.
Ajouté à la version 1.5.
Java documentation pour java.util.concurrent.ConcurrentLinkedQueue.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| ConcurrentLinkedQueue() |
Crée un |
| ConcurrentLinkedQueue(ICollection) |
Crée un |
| ConcurrentLinkedQueue(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| IsEmpty |
À ajouter (Hérité de AbstractCollection) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| JniPeerMembers |
File d’attente thread-safe non liée basée sur des nœuds liés. |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| Add(Object) |
À ajouter (Hérité de AbstractCollection) |
| AddAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| Clear() |
À ajouter (Hérité de AbstractCollection) |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| Contains(Object) |
À ajouter (Hérité de AbstractCollection) |
| ContainsAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| Element() |
Récupère, mais ne supprime pas, la tête de cette file d’attente. (Hérité de AbstractQueue) |
| Equals(Object) |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| ForEach(IConsumer) |
File d’attente thread-safe non liée basée sur des nœuds liés. |
| GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
| Iterator() |
Retourne un itérateur sur les éléments de cette file d’attente dans une séquence appropriée. |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| Offer(Object) |
Insère l’élément spécifié à la fin de cette file d’attente. |
| Peek() |
Récupère, mais ne supprime pas, la tête de cette file d’attente ou retourne |
| Poll() |
Récupère et supprime la tête de cette file d’attente ou retourne |
| Remove() |
Récupère et supprime la tête de cette file d’attente. (Hérité de AbstractQueue) |
| Remove(Object) |
À ajouter (Hérité de AbstractCollection) |
| RemoveAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| RemoveIf(IPredicate) |
File d’attente thread-safe non liée basée sur des nœuds liés. |
| RetainAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| Size() |
Retourne le nombre d’éléments de cette file d’attente. |
| Spliterator() |
Retourne un |
| ToArray() |
À ajouter (Hérité de AbstractCollection) |
| ToArray(Object[]) |
À ajouter (Hérité de AbstractCollection) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| IJavaPeerable.Finalized() |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
File d’attente thread-safe non liée basée sur des nœuds liés. (Hérité de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
File d’attente thread-safe non liée basée sur des nœuds liés. |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
File d’attente thread-safe non liée basée sur des nœuds liés. |
| ToEnumerable(IIterable) |
File d’attente thread-safe non liée basée sur des nœuds liés. |
| ToEnumerable<T>(IIterable) |
File d’attente thread-safe non liée basée sur des nœuds liés. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |