Partager via


Selector.Select Méthode

Définition

Surcharges

Select(IConsumer, Int64)

Sélectionne et effectue une action sur les clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Select(Int64)

Sélectionne un ensemble de clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Select()

Sélectionne un ensemble de clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Select(IConsumer)

Sélectionne et effectue une action sur les clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Select(IConsumer, Int64)

Sélectionne et effectue une action sur les clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)]
public virtual int Select (Java.Util.Functions.IConsumer? action, long timeout);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer * int64 -> int
override this.Select : Java.Util.Functions.IConsumer * int64 -> int

Paramètres

action
IConsumer

Action à effectuer

timeout
Int64

Si positif, bloquez jusqu’à timeout millisecondes, plus ou moins, en attendant qu’un canal devienne prêt ; si zéro, bloquer indéfiniment ; ne doit pas être négatif

Retours

Nombre de clés uniques consommées, éventuellement zéro

Attributs

Remarques

Sélectionne et effectue une action sur les clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Cette méthode effectue une opération de sélection bloquante. Il se réveille de l’interrogation du système d’exploitation uniquement quand au moins un canal est sélectionné, que la méthode de #wakeup wakeup ce sélecteur est appelée, que le thread actuel est interrompu ou que la période d’expiration donnée expire, selon le premier.

La méthode de l’action Consumer#accept(Object) acceptspécifiée est appelée avec la clé pour chaque canal prêt à effectuer une opération identifiée par l’ensemble d’intérêt de sa clé. La accept méthode peut être appelée plusieurs fois pour la même clé, mais avec le jeu prêt à l’opération contenant un sous-ensemble des opérations pour lesquelles le canal est prêt (comme décrit ci-dessus). La accept méthode est appelée lors de la synchronisation sur le sélecteur et son jeu de clés sélectionnés. Vous devez prendre soin d’éviter tout blocage avec d’autres threads qui se synchronisent également sur ces objets. Les opérations de sélection ne sont pas réentrantes en général et, par conséquent, l’action doit prendre soin de ne pas tenter une opération de sélection sur le même sélecteur. Le comportement lors de la tentative d’une opération de sélection reentrant est spécifique à l’implémentation et n’est donc pas spécifié. Si l’action ferme le sélecteur, elle ClosedSelectorException est levée une fois l’action terminée. L’action n’est pas interdite de fermer les canaux inscrits auprès du sélecteur, ni d’annuler des clés ou de modifier l’ensemble d’intérêts d’une clé. Si un canal est sélectionné, mais que sa clé est annulée ou que son jeu d’intérêts a changé avant que l’action ne soit effectuée sur la clé, elle est spécifique à l’implémentation pour déterminer si l’action est appelée (elle peut être appelée avec une SelectionKey#isValid() invalid clé). Les exceptions levées par l’action sont relayées à l’appelant.

Cette méthode n’offre pas de garanties en temps réel : elle planifie le délai d’expiration comme si elle appelait la Object#wait(long) méthode.

Ajouté dans 11.

Documentation Java pour java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>, long).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à

Select(Int64)

Sélectionne un ensemble de clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

[Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")]
public abstract int Select (long timeout);
[<Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")>]
abstract member Select : int64 -> int

Paramètres

timeout
Int64

Si positif, bloquez jusqu’à timeout millisecondes, plus ou moins, en attendant qu’un canal devienne prêt ; si zéro, bloquer indéfiniment ; ne doit pas être négatif

Retours

Nombre de clés, éventuellement zéro, dont les jeux prêts à l’opération ont été mis à jour

Attributs

Exceptions

si le sélecteur est fermé.

si l’argument de délai d’attente donné est inférieur à zéro.

si une erreur d’E/S se produit.

Remarques

Sélectionne un ensemble de clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Cette méthode effectue une opération de sélection bloquante. Elle ne retourne qu’une fois qu’au moins un canal est sélectionné, la méthode de #wakeup wakeup ce sélecteur est appelée, le thread actuel est interrompu ou la période d’expiration du délai d’expiration donnée, selon ce qui se produit en premier.

Cette méthode n’offre pas de garanties en temps réel : elle planifie le délai d’expiration comme si elle appelait la Object#wait(long) méthode.

Documentation Java pour java.nio.channels.Selector.select(long).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à

Select()

Sélectionne un ensemble de clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

[Android.Runtime.Register("select", "()I", "GetSelectHandler")]
public abstract int Select ();
[<Android.Runtime.Register("select", "()I", "GetSelectHandler")>]
abstract member Select : unit -> int

Retours

Nombre de clés, éventuellement zéro, dont les jeux prêts à l’opération ont été mis à jour

Attributs

Exceptions

si une erreur d’E/S se produit.

si le sélecteur est fermé.

Remarques

Sélectionne un ensemble de clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Cette méthode effectue une opération de sélection bloquante. Elle ne retourne qu’une fois qu’au moins un canal est sélectionné, la méthode de #wakeup wakeup ce sélecteur est appelée ou le thread actuel est interrompu, le cas échéant.

Documentation Java pour java.nio.channels.Selector.select().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à

Select(IConsumer)

Sélectionne et effectue une action sur les clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)]
public virtual int Select (Java.Util.Functions.IConsumer? action);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer -> int
override this.Select : Java.Util.Functions.IConsumer -> int

Paramètres

action
IConsumer

Action à effectuer

Retours

Nombre de clés uniques consommées, éventuellement zéro

Attributs

Remarques

Sélectionne et effectue une action sur les clés dont les canaux correspondants sont prêts pour les opérations d’E/S.

Cette méthode effectue une opération de sélection bloquante. Il se réveille de l’interrogation du système d’exploitation uniquement lorsque au moins un canal est sélectionné, que la méthode de #wakeup wakeup ce sélecteur est appelée ou que le thread actuel est interrompu, selon le premier.

Cette méthode équivaut à appeler la méthode 2-arg #select(Consumer, long) select avec un délai d’attente de 0 blocage indéfiniment.

Ajouté dans 11.

Documentation Java pour java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à