pcntl_setqos_class

現在のスレッドの QoS クラスを設定する

説明

void pcntl_setqos_class(Pcntl\QosClass $qos_class = Pcntl\QosClass::Default)

QoS クラスを設定します。

パラメータ

qos_class

現在のスレッドに割り当てる Quality of Service クラス。 オペレーティングシステムは、これを CPU 時間の割り当て、 I/O 優先度、電力消費をスケジューリングする際のヒントとして使用し、 上位のクラスは下位のクラスに割り込んで実行されます。 利用可能なケースについては、Pcntl\QosClass を参照してください。

Pcntl\QosClass::UserInteractive
最も高い優先度です。ユーザーインターフェイスを直接駆動する処理向けで、 イベント処理や描画など、体感的な遅延を避けるために ほぼ瞬時に完了する必要があるものを想定しています。
Pcntl\QosClass::UserInitiated
高い優先度で、UserInteractive のすぐ下です。 ユーザーが明示的に開始し、結果を待っている処理向けで、 数秒以内に完了することが期待されるものを想定しています。
Pcntl\QosClass::Default
標準の優先度で、より具体的なクラスが該当しない場合に使用します。 より優先度の高い処理の後に実行されますが、 UtilityBackground よりは先に実行されます。
Pcntl\QosClass::Utility
低めの優先度です。ダウンロード、インポート、 一括計算など、ユーザーは認識しているものの、 結果を待ってはいない長時間の処理向けです。 省電力なスケジューリングが行われます。
Pcntl\QosClass::Background
最も低い優先度です。プリフェッチ、インデックス作成、 メンテナンスなど、ユーザーが認識していない処理向けです。 電力効率を強く重視して最適化されており、 システムが高負荷の場合は実行が後回しにされる可能性があります。

注意: この関数は、Apple のプラットフォームでのみ利用可能です。

戻り値

値を返しません。

エラー / 例外

内部の pthread_set_qos_class_self_np() の呼び出しが失敗した場合、 Error をスローします。

参考

  • pcntl_getqos_class
  • Pcntl\QosClass