BREW のマルチタスク環境の特徴は?
BREW のマルチタスクはコオペラティブなシングルスレッド環境下で処理されます。
具体的には、CPU リソースを獲得したタスクは自分自身の処理で他のタスクに CPU リソースを譲ることで、マルチタスクが実現されます。
この方式の致命的な欠点は、 CPU リソースを獲得したタスクが他のタスクにCPU リソースを譲ることを怠れば、電話着信などより優先順位の高い他のタスクに CPU 制御が切り替わらなくなることです。
このため、タスクがある一定以上の時間(1秒程度)、CPUリソースを獲得したままの状態であると、BREW 端末はリセットされるようになっています。
BREW プログラミングでは、あるタスクが BREW からCPUリソースを獲得した場合、短時間で処理を終え、直ぐに BREW に CPU リソースを戻すような設計が重要なポイントとなります。
なお、2007 年以降に出荷予定の BREW 4.0 では、プリエンプティブなマルチスレッド環境となり、この問題は解消される見通しです。
関連情報