Language

AbstractInterruptibleChannel クラス

定義

割り込み可能なチャネルの基本実装クラス。

[Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)]
public abstract class AbstractInterruptibleChannel : Java.Lang.Object, IDisposable, 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
継承
AbstractInterruptibleChannel
派生
属性
実装

注釈

割り込み可能なチャネルの基本実装クラス。

このクラスは、チャネルの非同期終了と中断を実装するために必要な低レベルの機械をカプセル化します。 具象チャネル クラスは、 #begin begin メソッドと #end end メソッドをそれぞれ呼び出して、無期限にブロックする可能性のある I/O 操作を呼び出す必要があります。 #end end メソッドが常に呼び出されるようにするには、これらのメソッドを try> 内で使用する必要があります。...>finallyブロック:

<blockquote>

boolean completed = false;
            try {
                begin();
                completed = ...;    // Perform blocking I/O operation
                return ...;         // Return result
            } finally {
                end(completed);
            }

</blockquote>

completed メソッドの#end end引数は、I/O 操作が実際に完了したかどうか、つまり呼び出し元に表示される効果があるかどうかを示します。 たとえば、バイトを読み取る操作の場合、呼び出し側のターゲット バッファーに一部のバイトが実際に転送された場合にのみ、この引数を true する必要があります。

具体的なチャネル クラスは、チャネルのネイティブ I/O 操作で別のスレッドがブロックされている間に呼び出された場合、例外をスローするか、通常の方法で返すことによって、すぐにその操作が返されるように、 #implCloseChannel implCloseChannel メソッドを実装する必要があります。 スレッドが中断された場合、またはブロックされているチャネルが非同期的に閉じられた場合、チャネルの #end end メソッドは適切な例外をスローします。

このクラスは、 java.nio.channels.Channel 仕様を実装するために必要な同期を実行します。 #implCloseChannel implCloseChannel メソッドの実装は、チャネルを閉じようとしている可能性のある他のスレッドと同期する必要はありません。

1.4 で追加されました。

java.nio.channels.spi.AbstractInterruptibleChannelの Java ドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
AbstractInterruptibleChannel()

このクラスの新しいインスタンスを初期化します。

AbstractInterruptibleChannel(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsOpen

このチャネルが開いている場合は true を返します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
JniPeerMembers

このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
Begin()

無期限にブロックする可能性がある I/O 操作の開始をマークします。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Close()

このチャネルを閉じます。

Construct(JniObjectReference, JniObjectReferenceOptions)

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
End(Boolean)

無期限にブロックする可能性がある I/O 操作の終了をマークします。

Equals(Object)

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
ImplCloseChannel()

このチャネルを閉じます。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
IJavaPeerable.Finalized()

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

割り込み可能なチャネルの基本実装クラス。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

割り込み可能なチャネルの基本実装クラス。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

割り込み可能なチャネルの基本実装クラス。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象