Process.GetExclusiveCores メソッド

定義

一部のデバイスでは、フォアグラウンド プロセスに 1 つ以上の CPU コアが専用に予約されている場合があります。

[Android.Runtime.Register("getExclusiveCores", "()[I", "", ApiSince=24)]
public static int[]? GetExclusiveCores ();
[<Android.Runtime.Register("getExclusiveCores", "()[I", "", ApiSince=24)>]
static member GetExclusiveCores : unit -> int[]

戻り値

Int32[]

このプロセス専用に予約されている CPU コアを示す整数の配列。 この時点でこのプロセス専用に CPU コアが予約されていない場合、配列の長さは 0 になります。

属性

注釈

一部のデバイスでは、フォアグラウンド プロセスに 1 つ以上の CPU コアが専用に予約されている場合があります。 呼び出し元のプロセスで sched_setaffinity() を使用してスレッドをこれらのコアにロックできるように、このメソッドを使用して、(存在する場合) コアを取得できます。 このメソッドがコアを返すには、呼び出し元プロセスがフォアグラウンドで現在実行されている必要があることに注意してください。

フォアグラウンド プロセス専用に予約された CPU コアは、プロセスがフォアグラウンドに留まる限り、予約された状態を維持します。

プロセスがフォアグラウンドから離れるとすぐに、それらの CPU コアは予約されなくなり、新しいフォアグラウンド プロセス用に予約される可能性が高くなります。 前景から出るときにプロセスのアフィニティを変更する必要はありません (予約コアを使用するように以前に設定していた場合)。OS は、その時点でのアフィニティのリセットを自動的に行います。

の Java ドキュメント android.os.Process.getExclusiveCores()

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

適用対象