Sprache

IInterruptibleChannel Schnittstelle

Definition

Ein Kanal, der asynchron geschlossen und unterbrochen werden kann.

[Android.Runtime.Register("java/nio/channels/InterruptibleChannel", "", "Java.Nio.Channels.IInterruptibleChannelInvoker")]
public interface IInterruptibleChannel : IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IChannel
[<Android.Runtime.Register("java/nio/channels/InterruptibleChannel", "", "Java.Nio.Channels.IInterruptibleChannelInvoker")>]
type IInterruptibleChannel = interface
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Abgeleitet
Attribute
Implementiert

Hinweise

Ein Kanal, der asynchron geschlossen und unterbrochen werden kann.

Ein Kanal, der diese Schnittstelle implementiert, kann asynchron geschlossen werden: Wenn ein Thread in einem E/A-Vorgang in einem unterbrechungsfähigen Kanal blockiert wird, kann ein anderer Thread die Methode des Kanals #close close aufrufen. Dies führt dazu, dass der blockierte Thread eine AsynchronousCloseException.

Ein Kanal, der diese Schnittstelle implementiert, ist ebenfalls unterbrechbar: Wenn ein Thread in einem E/A-Vorgang in einem unterbrechungsfähigen Kanal blockiert wird, kann ein anderer Thread die Methode des Thread#interrupt() interrupt blockierten Threads aufrufen. Dadurch wird der Kanal geschlossen, der blockierte Thread empfangen, ClosedByInterruptExceptionund der Interruptstatus des blockierten Threads wird festgelegt.

Wenn der Unterbrechungsstatus eines Threads bereits festgelegt ist und er bei einem Kanal einen Blockierungs-E/A-Vorgang aufruft, wird der Kanal geschlossen, und der Thread erhält sofort einen ClosedByInterruptException; der Interruptstatus bleibt festgelegt.

Ein Kanal unterstützt asynchrones Schließen und Unterbrechung, wenn und nur dann, wenn er diese Schnittstelle implementiert. Dies kann bei Bedarf über den instanceof Operator zur Laufzeit getestet werden.

In 1.4 hinzugefügt.

Java Dokumentation für java.nio.channels.InterruptibleChannel.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Name Beschreibung
Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
IsOpen

Gibt true zurück, wenn dieser Kanal geöffnet ist.

(Geerbt von IChannel)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniObjectReferenceControlBlock

Ein Kanal, der asynchron geschlossen und unterbrochen werden kann.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Name Beschreibung
Close()

Schließt diesen Kanal.

Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Ein Kanal, der asynchron geschlossen und unterbrochen werden kann.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein Kanal, der asynchron geschlossen und unterbrochen werden kann.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: