次の方法で共有


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 ドキュメントjava.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>, long)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象

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)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象

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()

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象

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 スレッドが中断された場合にのみ、オペレーティング システムのクエリから復帰します。

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

11 に追加されました。

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

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象