SelectableChannel Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein Kanal, der über ein Selector
Vielfaches multiplexed werden kann.
[Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)]
public abstract class SelectableChannel : Java.Nio.Channels.Spi.AbstractInterruptibleChannel, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)>]
type SelectableChannel = class
inherit AbstractInterruptibleChannel
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Vererbung
- Abgeleitet
- Attribute
- Implementiert
Hinweise
Ein Kanal, der über ein Selector
Vielfaches multiplexed werden kann.
Um mit einer Selektor verwendet werden zu können, muss zunächst eine Instanz dieser Klasse über die #register(Selector,int,Object) register
Methode registriert werden. Diese Methode gibt ein neues SelectionKey
Objekt zurück, das die Registrierung des Kanals bei der Auswahl darstellt.
Nach der Registrierung bei einer Auswahl bleibt ein Kanal registriert, bis er registriert ist. Dies umfasst die Zuordnung der Ressourcen, die vom Selektor dem Kanal zugeordnet wurden.
Ein Kanal kann nicht direkt deregistert werden; Stattdessen muss der Schlüssel, der seine Registrierung darstellt, abgebrochen werden. Das Abbrechen einer Schlüsselanforderung, dass der Kanal während des nächsten Auswahlvorgangs des Selektors deregistert wird. Ein Schlüssel kann explizit abgebrochen werden, indem er seine SelectionKey#cancel() cancel
Methode aufruft. Alle Schlüssel eines Kanals werden implizit abgebrochen, wenn der Kanal geschlossen wird, unabhängig davon, ob er seine Channel#close close
Methode aufruft oder einen in einem E/A-Vorgang blockierten Thread auf dem Kanal unterbricht.
Wenn die Auswahl selbst geschlossen wird, wird der Kanal deregistert, und der Schlüssel, der seine Registrierung darstellt, wird ohne weitere Verzögerung ungültig.
Ein Kanal kann höchstens einmal bei einer bestimmten Auswahl registriert werden.
Gibt an, ob ein Kanal bei einer oder mehreren Selektoren registriert ist, kann durch Aufrufen der #isRegistered isRegistered
Methode bestimmt werden.
Auswählbare Kanäle sind für die Verwendung durch mehrere gleichzeitige Threads sicher.
"bm"><h2>Blockierungsmodus</h2>
Ein auswählbarer Kanal befindet sich entweder im Blockierungsmodus oder im nicht blockierenden Modus. Im Blockierungsmodus wird jeder beim Kanal aufgerufene E/A-Vorgang blockiert, bis er abgeschlossen ist. Im nicht blockierenden Modus wird ein E/A-Vorgang niemals blockiert und kann weniger Bytes übertragen als angefordert oder gar keine Bytes. Der Sperrmodus eines auswählbaren Kanals kann durch Aufrufen seiner #isBlocking isBlocking
Methode bestimmt werden.
Neu erstellte, auswählbare Kanäle befinden sich immer im Sperrmodus. Der Nicht-Blockierungsmodus ist in Verbindung mit selektorbasiertem Multiplexing am nützlichsten. Ein Kanal muss in den Nicht-Blockierungsmodus versetzt werden, bevor er bei einer Auswahl registriert wird und möglicherweise erst wieder in den Sperrmodus zurückgesetzt wird, nachdem er die Registrierung aufgehoben hat.
In 1.4 hinzugefügt.
Java-Dokumentation für java.nio.channels.SelectableChannel
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
SelectableChannel() |
Initialisiert eine neue Instanz dieser Klasse. |
SelectableChannel(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses Werts |
Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
IsBlocking |
Gibt an, ob sich dieser Kanal im Sperrmodus befindet. |
IsOpen |
Gibt true zurück, wenn dieser Kanal geöffnet ist. (Geerbt von AbstractInterruptibleChannel) |
IsRegistered |
Gibt an, ob dieser Kanal mit mindestens einem Selektor registriert ist. |
JniIdentityHashCode |
Ein Kanal, der über ein |
JniPeerMembers |
Ein Kanal, der über ein |
PeerReference |
Ein Kanal, der über ein |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
Methoden
Begin() |
Markiert den Anfang eines E/A-Vorgangs, der auf unbestimmte Zeit blockiert werden kann. (Geerbt von AbstractInterruptibleChannel) |
BlockingLock() |
Ruft das Objekt ab, auf dem die und |
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Close() |
Schließt diesen Kanal. (Geerbt von AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
Passt den Blockierungsmodus dieses Kanals an. |
Dispose() |
Ein Kanal, der über ein |
Dispose(Boolean) |
Ein Kanal, der über ein |
End(Boolean) |
Markiert das Ende eines E/A-Vorgangs, der auf unbestimmte Zeit blockiert werden kann. (Geerbt von AbstractInterruptibleChannel) |
Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
ImplCloseChannel() |
Schließt diesen Kanal. (Geerbt von AbstractInterruptibleChannel) |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
KeyFor(Selector) |
Ruft den Schlüssel ab, der die Registrierung des Kanals bei der angegebenen Auswahl darstellt. |
Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
Provider() |
Gibt den Anbieter zurück, der diesen Kanal erstellt hat. |
Register(Selector, Operations, Object) |
Registriert diesen Kanal mit der angegebenen Auswahl, wobei eine Auswahltaste zurückgegeben wird. |
Register(Selector, Operations) |
Registriert diesen Kanal mit der angegebenen Auswahl, wobei eine Auswahltaste zurückgegeben wird. |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
ToArray<T>() |
Ein Kanal, der über ein |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Ein Kanal, der über ein |
ValidOps() |
Gibt einen Vorgangssatz zurück, der die unterstützten Vorgänge dieses Kanals identifiziert. |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<>< (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Ein Kanal, der über ein |
IJavaPeerable.DisposeUnlessReferenced() |
Ein Kanal, der über ein |
IJavaPeerable.Finalized() |
Ein Kanal, der über ein |
IJavaPeerable.JniManagedPeerState |
Ein Kanal, der über ein |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Kanal, der über ein |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Kanal, der über ein |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Kanal, der über ein |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Ein Kanal, der über ein |
GetJniTypeName(IJavaPeerable) |
Ein Kanal, der über ein |