IInterruptibleChannel インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非同期的に閉じて中断できるチャネル。
[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 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
| 名前 | 説明 |
|---|---|
| Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
| IsOpen |
このチャネルが開いている場合は true を返します。 (継承元 IChannel) |
| JniIdentityHashCode |
ラップされたインスタンスの |
| JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
| JniObjectReferenceControlBlock |
非同期的に閉じて中断できるチャネル。 (継承元 IJavaPeerable) |
| JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
| PeerReference |
ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。 (継承元 IJavaPeerable) |
メソッド
| 名前 | 説明 |
|---|---|
| Close() |
このチャネルを閉じます。 |
| Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
| DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 |
| Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
| SetJniIdentityHashCode(Int32) |
|
| SetJniManagedPeerState(JniManagedPeerStates) |
非同期的に閉じて中断できるチャネル。 (継承元 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
|
| UnregisterFromRuntime() |
ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
非同期的に閉じて中断できるチャネル。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|