Androidであるスレッドが動いている最中(※1)に、他のスレッドに処理が移ってしまうことはあるんでしょうか?
Androidであるスレッドが動いている最中(※1)に、他のスレッドに処理が移ってしまうことはあるんでしょうか? ※1 スリープもしていなく、何らかのウェイト状態でもなく、ガリガリ動いている最中です。
Android開発・55閲覧・100
ベストアンサー
普通にあります。 Android は、Linuxカーネルの上で動く、プリエンプティブOSです。Javaでも、NDKでも、どちらでも、10ms以上の処理時間がかかれば、スレッドの切り替えが起こります。 10msだったかどうかは、カーネルのコンフィグによります。
1人がナイス!しています
回答ありがとうごさいます! タイムシェアリングなのですね。 逆に言うと、10ms(設定が10msだったら)は保障されるということでしょうか?
質問者からのお礼コメント
何度も回答頂きありがとうございました。 私、μitronというリアルタイムOSはそこそこ経験があるのですが、最近、Androidをやり始めて、Linuxも詳しく無いので基本的なことが分かりませんでした。 タイムスライスでの切替えがある以外は、μitronと同じだと理解出来ました。 教えて頂きとても助かりました。 ありがとうございました。
お礼日時:6/20 10:41