Selector.Select Méthode
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.
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) accept
spé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.
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.
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.