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 ミリ秒以下ブロックします。ゼロの場合は無期限にブロックします。負の値にすることはできません。

返品

使用された一意のキーの数 (場合によっては 0)

属性

注釈

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

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

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

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

11 に追加されました。

Javaドキュメント。

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

適用対象

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ドキュメント。

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

適用対象

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ドキュメント。

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

適用対象

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

実行するアクション

返品

使用された一意のキーの数 (場合によっては 0)

属性

注釈

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

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

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

11 に追加されました。

Javaドキュメント。

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

適用対象