Selector.Select メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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 に追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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) メソッドを呼び出すかのようにタイムアウトをスケジュールします。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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 メソッドが呼び出された後、または現在のスレッドが中断された後にのみ返されます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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 に追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。