Selector.Select メソッド

定義

オーバーロード

Select(IConsumer, Int64)

対応するチャネルが I/O 操作の準備ができているキーに対してアクションを選択して実行します。

Select(Int64)

対応するチャネルが I/O 操作の準備ができているキーのセットを選択します。

Select()

対応するチャネルが I/O 操作の準備ができているキーのセットを選択します。

Select(IConsumer)

対応するチャネルが I/O 操作の準備ができているキーに対してアクションを選択して実行します。

Select(IConsumer, Int64)

対応するチャネルが I/O 操作の準備ができているキーに対してアクションを選択して実行します。

[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)]
public virtual int Select (Java.Util.Functions.IConsumer? action, long timeout);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer * int64 -> int
override this.Select : Java.Util.Functions.IConsumer * int64 -> int

パラメーター

action
IConsumer

実行するアクション

timeout
Int64

正の場合は、チャネルの準備が整うのを timeout 待っている間、最大ミリ秒単位でブロックします。ゼロの場合は無期限にブロックします。負の値にすることはできません。

戻り値

使用された一意キーの数 (ゼロの可能性あり)

属性

注釈

対応するチャネルが I/O 操作の準備ができているキーに対してアクションを選択して実行します。

このメソッドは、ブロック選択操作を実行します。 少なくとも 1 つのチャネルが選択されている場合、このセレクターのメソッドが呼び出された場合、現在の #wakeup wakeup スレッドが中断された場合、または指定されたタイムアウト期間がどちらか早い方に切れた場合にのみ、オペレーティング システムのクエリが開始されます。

指定された アクションのメソッドは、キーの Consumer#accept(Object) accept インタレスト セットによって識別される操作を実行する準備ができている各チャネルのキーを使用して呼び出されます。 メソッドは accept 、同じキーに対して複数回呼び出すことができますが、準備完了操作セットには、チャネルの準備が整った操作のサブセットが含まれます (前述)。 メソッドは accept 、セレクターとその選択したキー セットで同期中に呼び出されます。 これらのオブジェクトでも同期する他のスレッドとのデッドロックを回避するには、細心の注意を払う必要があります。 選択操作は一般的に再入可能ではありません。そのため、同じセレクターで選択操作を試行しないように 、アクション は細心の注意を払う必要があります。 再入可能な選択操作を試みる場合の動作は実装固有であるため、指定されていません。 アクションがセレクターを閉じると、ClosedSelectorExceptionアクションの完了時に がスローされます。 このアクションは、セレクターに登録されているチャネルを閉じることも、キーの取り消しやキーの関心セットの変更も禁止されていません。 チャネルが選択されているが、そのキーが取り消されるか、キーに対して アクション が実行される前に関心セットが変更された場合、 アクション が呼び出されるかどうか (キーを使用 SelectionKey#isValid() invalid して呼び出される可能性があります) に固有の実装になります。 アクションによってスローされた例外は、呼び出し元に中継されます。

このメソッドは、リアルタイムの保証を提供しません。 メソッドを呼び出すかのようにタイムアウトを Object#wait(long) スケジュールします。

11 に追加されました。

の Java ドキュメント java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>, long)

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

適用対象

Select(Int64)

対応するチャネルが I/O 操作の準備ができているキーのセットを選択します。

[Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")]
public abstract int Select (long timeout);
[<Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")>]
abstract member Select : int64 -> int

パラメーター

timeout
Int64

正の場合は、チャネルの準備が整うのを timeout 待っている間、最大ミリ秒単位でブロックします。ゼロの場合は無期限にブロックします。負の値にすることはできません。

戻り値

準備完了操作セットが更新されたキーの数 (場合によっては 0)

属性

例外

セレクターが閉じている場合は 。

指定されたタイムアウト引数が 0 未満の場合は 。

I/O エラーが発生した場合は 。

注釈

対応するチャネルが I/O 操作の準備ができているキーのセットを選択します。

このメソッドは、ブロック選択操作を実行します。 少なくとも 1 つのチャネルが選択された後、このセレクターのメソッドが呼び出されるか、現在の #wakeup wakeup スレッドが中断されるか、指定されたタイムアウト期間が早い方に期限切れになった後にのみ返されます。

このメソッドは、リアルタイムの保証を提供しません。 メソッドを呼び出すかのようにタイムアウトを Object#wait(long) スケジュールします。

の Java ドキュメント java.nio.channels.Selector.select(long)

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

適用対象

Select()

対応するチャネルが I/O 操作の準備ができているキーのセットを選択します。

[Android.Runtime.Register("select", "()I", "GetSelectHandler")]
public abstract int Select ();
[<Android.Runtime.Register("select", "()I", "GetSelectHandler")>]
abstract member Select : unit -> int

戻り値

準備完了操作セットが更新されたキーの数 (場合によっては 0)

属性

例外

I/O エラーが発生した場合は 。

セレクターが閉じている場合は 。

注釈

対応するチャネルが I/O 操作の準備ができているキーのセットを選択します。

このメソッドは、ブロック選択操作を実行します。 少なくとも 1 つのチャネルが選択された後、このセレクターのメソッドが呼び出された後、または現在の #wakeup wakeup スレッドが中断された後 、どちらか早い方が返されます。

の Java ドキュメント java.nio.channels.Selector.select()

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

適用対象

Select(IConsumer)

対応するチャネルが I/O 操作の準備ができているキーに対してアクションを選択して実行します。

[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)]
public virtual int Select (Java.Util.Functions.IConsumer? action);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer -> int
override this.Select : Java.Util.Functions.IConsumer -> int

パラメーター

action
IConsumer

実行するアクション

戻り値

使用された一意キーの数 (ゼロの可能性あり)

属性

注釈

対応するチャネルが I/O 操作の準備ができているキーに対してアクションを選択して実行します。

このメソッドは、ブロック選択操作を実行します。 少なくとも 1 つのチャネルが選択されている場合、このセレクターのメソッドが呼び出された場合、または現在の #wakeup wakeup スレッドが中断された場合 (どちらか早い方) に限り、オペレーティング システムのクエリが開始されます。

このメソッドは、 のタイムアウト0を指定して 2-arg #select(Consumer, long) select メソッドを呼び出して無期限にブロックするのと同じです。

11 に追加されました。

の Java ドキュメント java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>)

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

適用対象