Idioma

Selector.Select Método

Definição

Sobrecargas

Nome Description
Select(IConsumer, Int64)

Seleciona e executa uma ação nas chaves cujos canais correspondentes estão prontos para operações de E/S.

Select(Int64)

Seleciona um conjunto de chaves cujos canais correspondentes estão prontos para operações de E/S.

Select()

Seleciona um conjunto de chaves cujos canais correspondentes estão prontos para operações de E/S.

Select(IConsumer)

Seleciona e executa uma ação nas chaves cujos canais correspondentes estão prontos para operações de E/S.

Select(IConsumer, Int64)

Seleciona e executa uma ação nas chaves cujos canais correspondentes estão prontos para operações de 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

Parâmetros

action
IConsumer

A ação a ser executada

timeout
Int64

Se positivo, bloqueie por até timeout milissegundos, mais ou menos, enquanto aguarda um canal ficar pronto; se zero, bloquear indefinidamente; não deve ser negativo

Retornos

O número de chaves exclusivas consumidas, possivelmente zero

Atributos

Comentários

Seleciona e executa uma ação nas chaves cujos canais correspondentes estão prontos para operações de E/S.

Esse método executa uma operação de seleção de bloqueio. Ele acorda de consultar o sistema operacional somente quando pelo menos um canal é selecionado, o método desse #wakeup wakeup seletor é invocado, o thread atual é interrompido ou o período de tempo limite determinado expira, o que ocorrer primeiro.

O método da Consumer#accept(Object) accept especificada é invocado com a chave para cada canal que está pronto para executar uma operação identificada pelo conjunto de interesses de sua chave. O accept método pode ser invocado mais de uma vez para a mesma chave, mas com o conjunto de operações prontas contendo um subconjunto das operações para as quais o canal está pronto (conforme descrito acima). O accept método é invocado enquanto sincronizado no seletor e no conjunto de chaves selecionadas. É necessário ter muito cuidado para evitar deadlocking com outros threads que também são sincronizados nesses objetos. As operações de seleção não são reentradas em geral e, consequentemente, a ação deve tomar muito cuidado para não tentar uma operação de seleção no mesmo seletor. O comportamento ao tentar uma operação de seleção reentrada é específico de implementação e, portanto, não especificado. Se a ação fechar o seletor, será ClosedSelectorException gerada quando a ação for concluída. A ação não é proibida de fechar canais registrados com o seletor, nem é proibida de cancelar chaves ou alterar o conjunto de interesses de uma chave. Se um canal for selecionado, mas sua chave for cancelada ou seu conjunto de juros alterado antes que a ação seja executada na chave, será específica a implementação sobre se a ação é invocada (ela pode ser invocada com uma SelectionKey#isValid() invalid chave). As exceções geradas pela ação são retransmitidas para o chamador.

Esse método não oferece garantias em tempo real: ele agenda o tempo limite como se estivesse invocando o Object#wait(long) método.

Adicionado em 11.

Documentação Java para java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>, long).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

Select(Int64)

Seleciona um conjunto de chaves cujos canais correspondentes estão prontos para operações de 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

Parâmetros

timeout
Int64

Se positivo, bloqueie por até timeout milissegundos, mais ou menos, enquanto aguarda um canal ficar pronto; se zero, bloquear indefinidamente; não deve ser negativo

Retornos

O número de chaves, possivelmente zero, cujos conjuntos de operações prontas foram atualizados

Atributos

Exceções

se o seletor estiver fechado.

se o argumento de tempo limite fornecido for menor que zero.

se ocorrer um erro de E/S.

Comentários

Seleciona um conjunto de chaves cujos canais correspondentes estão prontos para operações de E/S.

Esse método executa uma operação de seleção de bloqueio. Ele retorna somente depois que pelo menos um canal é selecionado, o método desse #wakeup wakeup seletor é invocado, o thread atual é interrompido ou o período de tempo limite determinado expira, o que ocorrer primeiro.

Esse método não oferece garantias em tempo real: ele agenda o tempo limite como se estivesse invocando o Object#wait(long) método.

Documentação Java para java.nio.channels.Selector.select(long).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

Select()

Seleciona um conjunto de chaves cujos canais correspondentes estão prontos para operações de E/S.

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

Retornos

O número de chaves, possivelmente zero, cujos conjuntos de operações prontas foram atualizados

Atributos

Exceções

se ocorrer um erro de E/S.

se o seletor estiver fechado.

Comentários

Seleciona um conjunto de chaves cujos canais correspondentes estão prontos para operações de E/S.

Esse método executa uma operação de seleção de bloqueio. Ele retorna somente depois que pelo menos um canal é selecionado, o método desse #wakeup wakeup seletor é invocado ou o thread atual é interrompido, o que ocorrer primeiro.

Documentação Java para java.nio.channels.Selector.select().

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

Select(IConsumer)

Seleciona e executa uma ação nas chaves cujos canais correspondentes estão prontos para operações de 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

Parâmetros

action
IConsumer

A ação a ser executada

Retornos

O número de chaves exclusivas consumidas, possivelmente zero

Atributos

Comentários

Seleciona e executa uma ação nas chaves cujos canais correspondentes estão prontos para operações de E/S.

Esse método executa uma operação de seleção de bloqueio. Ele acorda de consultar o sistema operacional somente quando pelo menos um canal é selecionado, o método desse #wakeup wakeup seletor é invocado ou o thread atual é interrompido, o que ocorrer primeiro.

Esse método é equivalente a invocar o método de 2 arg #select(Consumer, long) select com um tempo limite para 0 bloquear indefinidamente.

Adicionado em 11.

Documentação Java para java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a