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