WIN32_ABOVE_NORMAL_PRIORITY_CLASS |
0x00008000 |
WIN32_NORMAL_PRIORITY_CLASS よりも高いけれど
WIN32_HIGH_PRIORITY_CLASS よりは低い優先度のプロセス。
|
WIN32_BELOW_NORMAL_PRIORITY_CLASS |
0x00004000 |
WIN32_IDLE_PRIORITY_CLASS よりも高いけれど
WIN32_NORMAL_PRIORITY_CLASS よりは低い優先度のプロセス。
|
WIN32_HIGH_PRIORITY_CLASS |
0x00000080 |
ただちに実行しなければならないような、時間制約の厳しいプロセス。
このプロセスのスレッドは、優先度クラスが NORMAL あるいは IDLE
であるすべてのプロセスのスレッドを先取りします。
このクラスを使う例はタスクリストです。
タスクリストは、ユーザが呼び出したときは OS の負荷にかかわらずすぐに反応しなければなりません。
この優先度クラスを使うときには細心の注意が必要です。
この優先度クラスのアプリケーションは CPU をほぼすべて使い切ってしまうこともあるからです。
|
WIN32_IDLE_PRIORITY_CLASS |
0x00000040 |
システムがアイドル状態のときにだけスレッドが実行されるプロセス。
より優先度クラスの高いプロセスが実行中の場合は、
そちらのスレッドが優先的に実行されます。
このクラスを使う例はスクリーンセーバーです。
この優先度クラスは、子プロセスにも引き継がれます。
|
WIN32_NORMAL_PRIORITY_CLASS |
0x00000020 |
特別なスケジューリングが不要なプロセス。
|
WIN32_REALTIME_PRIORITY_CLASS |
0x00000100 |
可能な限り優先度を高くするプロセス。
このプロセスのスレッドは、他のすべてのプロセスのスレッドを先取りします。
重要なタスクをこなす OS のプロセスであっても例外ではありません。
リアルタイムプロセスを非常に短い間隔で実行させると、
ディスクキャッシュがフラッシュされなくなったり
マウスが反応しなくなったりすることがあり得ます。
|