SelectableChannel クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
を介して Selector
多重化できるチャネル。
[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
- 継承
- 派生
- 属性
- 実装
注釈
を介して Selector
多重化できるチャネル。
セレクターで使用するには、このクラスのインスタンスを最初にメソッドを使用して登録する#register(Selector,int,Object) register
必要があります。 このメソッドは、セレクターに対するチャネルの登録を表す新しい SelectionKey
オブジェクトを返します。
セレクターに登録されると、チャネルは 登録解除されるまで登録されたままになります。 これには、セレクターによってチャネルに割り当てられたリソースの割り当てを解除する必要があります。
チャネルを直接登録解除することはできません。代わりに、登録を表すキーを取り消す必要があります。 キーをキャンセルすると、セレクターの次の選択操作中にチャネルの登録を解除することが要求されます。 キーは、その SelectionKey#cancel() cancel
メソッドを呼び出すことによって明示的に取り消される場合があります。 チャネルのメソッドを呼び出すか、チャネルの I/O 操作でブロックされたスレッドを Channel#close close
中断するかに関係なく、チャネルが閉じられると、チャネルのすべてのキーが暗黙的に取り消されます。
セレクター自体が閉じられている場合、チャネルは登録解除され、登録を表すキーは、それ以上の遅延なしに無効になります。
チャネルは、特定のセレクターに最大で 1 回登録できます。
チャネルが 1 つ以上のセレクターに登録されているかどうかは、メソッドを #isRegistered isRegistered
呼び出すことによって決定できます。
選択可能なチャネルは、複数の同時実行スレッドで安全に使用できます。
"bm"><h2>ブロッキング モード</h2>
選択可能なチャネルは、ブロッキング モードまたは非ブロッキング モードです。 ブロッキング モードでは、チャネルに対して呼び出されるすべての I/O 操作は、完了するまでブロックされます。 非ブロッキング モードでは、I/O 操作は決してブロックせず、要求されたバイト数よりも少ないバイト数を転送するか、バイトをまったく転送しない可能性があります。 選択可能なチャネルのブロック モードは、その #isBlocking isBlocking
メソッドを呼び出すことによって決定できます。
新しく作成された選択可能なチャネルは、常にブロック モードになります。 非ブロッキング モードは、セレクター ベースの多重化と組み合わせて最も便利です。 セレクターに登録する前にチャネルを非ブロッキング モードにする必要があり、登録が解除されるまでブロック モードに戻らない場合があります。
1.4 で追加されました。
の Java ドキュメントjava.nio.channels.SelectableChannel
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
SelectableChannel() |
このクラスの新しいインスタンスを初期化します。 |
SelectableChannel(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsBlocking |
このチャネルがブロック モードであるかどうかを示します。 |
IsOpen |
このチャネルが開いている場合は true を返します。 (継承元 AbstractInterruptibleChannel) |
IsRegistered |
このチャネルが少なくとも 1 つのセレクターに登録されているかどうかを示します。 |
JniIdentityHashCode |
を介して |
JniPeerMembers |
を介して |
PeerReference |
を介して |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
Begin() |
無期限にブロックする可能性がある I/O 操作の開始をマークします。 (継承元 AbstractInterruptibleChannel) |
BlockingLock() |
メソッドと |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Close() |
このチャネルを閉じます。 (継承元 AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
このチャネルのブロッキング モードを調整します。 |
Dispose() |
を介して |
Dispose(Boolean) |
を介して |
End(Boolean) |
無期限にブロックする可能性がある I/O 操作の終了をマークします。 (継承元 AbstractInterruptibleChannel) |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
ImplCloseChannel() |
このチャネルを閉じます。 (継承元 AbstractInterruptibleChannel) |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
KeyFor(Selector) |
指定されたセレクターに対するチャネルの登録を表すキーを取得します。 |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
Provider() |
このチャネルを作成したプロバイダーを返します。 |
Register(Selector, Operations, Object) |
このチャネルを指定されたセレクターに登録し、選択キーを返します。 |
Register(Selector, Operations) |
このチャネルを指定されたセレクターに登録し、選択キーを返します。 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
を介して |
ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
UnregisterFromRuntime() |
を介して |
ValidOps() |
このチャネルでサポートされている操作を識別する操作セットを返します。 |
Wait() |
現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
を介して |
IJavaPeerable.DisposeUnlessReferenced() |
を介して |
IJavaPeerable.Finalized() |
を介して |
IJavaPeerable.JniManagedPeerState |
を介して |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
を介して |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
を介して |
IJavaPeerable.SetPeerReference(JniObjectReference) |
を介して |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
を介して |
GetJniTypeName(IJavaPeerable) |
を介して |