AbstractInterruptibleChannel Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Classe de implementação base para canais interruptíveis.
[Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)]
public abstract class AbstractInterruptibleChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IInterruptibleChannel
[<Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)>]
type AbstractInterruptibleChannel = class
inherit Object
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IInterruptibleChannel
- Herança
- Derivado
- Atributos
- Implementações
Comentários
Classe de implementação base para canais interruptíveis.
Essa classe encapsula o maquinário de baixo nível necessário para implementar o fechamento assíncrono e a interrupção de canais. Uma classe de canal concreto deve invocar os #begin begin
métodos e #end end
antes e depois, respectivamente, invocando uma operação de E/S que pode bloquear indefinidamente. Para garantir que o #end end
método seja sempre invocado, esses métodos devem ser usados dentro de um try
... finally
bloquear:
<blockquote>
boolean completed = false;
try {
begin();
completed = ...; // Perform blocking I/O operation
return ...; // Return result
} finally {
end(completed);
}
</blockquote>
O completed
argumento para o #end end
método informa se a operação de E/S foi realmente concluída, ou seja, se ela teve algum efeito que seria visível para o invocador. No caso de uma operação que lê bytes, por exemplo, esse argumento deve ser true
se, e somente se, alguns bytes foram realmente transferidos para o buffer de destino do invocador.
Uma classe de canal concreta também deve implementar o #implCloseChannel implCloseChannel
método de tal forma que, se ele for invocado enquanto outro thread estiver bloqueado em uma operação de E/S nativa no canal, essa operação retornará imediatamente, lançando uma exceção ou retornando normalmente. Se um thread for interrompido ou o canal no qual ele está bloqueado for fechado de forma assíncrona, o método do #end end
canal lançará a exceção apropriada.
Essa classe executa a sincronização necessária para implementar a java.nio.channels.Channel
especificação. As implementações do #implCloseChannel implCloseChannel
método não precisam ser sincronizadas com outros threads que podem estar tentando fechar o canal.
Adicionado em 1.4.
Documentação Java para java.nio.channels.spi.AbstractInterruptibleChannel
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.
Construtores
AbstractInterruptibleChannel() |
Inicializa uma nova instância desta classe. |
AbstractInterruptibleChannel(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução. |
Propriedades
Class |
Retorna a classe de tempo de execução deste |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
IsOpen |
Retorna true se esse canal estiver aberto. |
JniIdentityHashCode |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
JniPeerMembers |
Classe de implementação base para canais interruptíveis. |
PeerReference |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
ThresholdClass |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
ThresholdType |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
Begin() |
Marca o início de uma operação de E/S que pode bloquear indefinidamente. |
Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
Close() |
Fecha este canal. |
Dispose() |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
Dispose(Boolean) |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
End(Boolean) |
Marca o fim de uma operação de E/S que pode bloquear indefinidamente. |
Equals(Object) |
Indica se algum outro objeto é "igual" a este. (Herdado de Object) |
GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
ImplCloseChannel() |
Fecha este canal. |
JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
ToArray<T>() |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
Wait() |
Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>. (Herdado de Object) |
Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
IJavaPeerable.Finalized() |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
IJavaPeerable.JniManagedPeerState |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe de implementação base para canais interruptíveis. (Herdado de Object) |
Métodos de Extensão
JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada em tempo de execução do Android. |
JavaCast<TResult>(IJavaObject) |
Classe de implementação base para canais interruptíveis. |
GetJniTypeName(IJavaPeerable) |
Classe de implementação base para canais interruptíveis. |