リアルタイムOSにおけるスレッド優先度

PSPでも、PC上のソフトウェアと同じように、スレッドを使用で同時に複数の作業を実行できます。しかし、PSPのOSはリアルタイムOSであり、優先度の指定がきわめて重要なものとなります。
たとえば、スレッドAの優先度 > スレッドBの優先度のとき、スレッドAがCPUを占領したときに、PCではスレッドBは低い処理速度で実行できますが、PSPでは完全に停止します。
つまり、優先度が高いスレッドを動かしながら、優先度が低いスレッドも動かしたいときは、優先度が高いスレッドでsceKernelDelayThread, sceKernelDelayThreadCB, あるいはsceDisplayWaitVblank(グラフィックスを使用するスレッドのみ)を使用して、優先度が低いスレッドにCPU時間をゆずる必要があります。
また、排他制御を自前で実装する場合、ポーリングを行ってはなりません。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年05月12日 00:00