Language

IInterruptibleChannel インターフェイス

定義

非同期的に閉じて中断できるチャネル。

[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
派生
属性
実装

注釈

非同期的に閉じて中断できるチャネル。

このインターフェイスを実装するチャネルは 非同期的に閉じ可能です。 中断可能なチャネルの I/O 操作でスレッドがブロックされている場合、別のスレッドがチャネルの #close close メソッドを呼び出す可能性があります。 これにより、ブロックされたスレッドが AsynchronousCloseExceptionを受け取ります。

このインターフェイスを実装するチャネルも 割り込み可能です。中断可能な チャネルの I/O 操作でスレッドがブロックされている場合、別のスレッドがブロックされたスレッドの Thread#interrupt() interrupt メソッドを呼び出す可能性があります。 これにより、チャネルが閉じられ、ブロックされたスレッドが ClosedByInterruptExceptionを受信し、ブロックされたスレッドの割り込み状態が設定されます。

スレッドの割り込み状態が既に設定されていて、チャネルでブロック I/O 操作を呼び出した場合、チャネルは閉じられ、スレッドはすぐに ClosedByInterruptExceptionを受け取ります。その割り込み状態は設定されたままです。

チャネルは、このインターフェイスを実装している場合にのみ、非同期の終了と中断をサポートします。 これは、必要に応じて実行時に、 instanceof 演算子を使用してテストできます。

1.4 で追加されました。

Javaドキュメント。

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

プロパティ

名前 説明
Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
IsOpen

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

(継承元 IChannel)
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

非同期的に閉じて中断できるチャネル。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
Close()

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

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

非同期的に閉じて中断できるチャネル。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

非同期的に閉じて中断できるチャネル。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象