私は最近、Yin Yanらによって「時間通りにAndroidを実行する」という論文を読んでいます。トピックを完全に理解するために、Real-Time Specification for Java(RTSJ)とリアルタイム仮想マシン、ガベージコレクタなどについても読んでいます。それにもかかわらず、私はまだ疑いがあります。 RTSJ準拠の仮想マシンは、優先順位の逆転を防ぐために優先継承を使用しますが、このアルゴリズムはデッドロックを防止しないことがわかります。スレッドにはリソース取得順序を制御する方法がないため、循環待ちになる可能性があり、実際にはデッドロックにつながる可能性があります。Javaをリアルタイムで使用することは本当に安全ですか?
このように、デスクトップアプリケーションとモバイルアプリケーションを含むリアルタイム目的のプログラミング言語としてJavaを使用することは本当に安全ですか?
私の質問は、Java、Android、またはLinuxをそのまま使用することについての質問ではありません。私の質問は、デッドロックの発生を防ぐものではないため、RTSJによって選択されたアルゴリズム(優先継承)に関するものです。
私はリアルタイム性(期限や予測性などに関するすべてのもの)が何であるかを知っており、可能かどうかを尋ねていません。そこには、この問題に取り組んでいる膨大な量のものがあります(私が引用したもののようですが、もっと多くのものがあります)。 Javaで書かれたリアルタイムアプリケーションはたくさんありますが(もちろん、実際のAndroidのバージョンで実行しています)、リソースの割り当てを処理するには優先度の継承が適切であるかどうかはわかりません。 – madipi
LinuxはリアルタイムOSではありません。つまり、アンドロイドはそうではありません。つまり、その上にアプリケーションはリアルタイムではありません。また、世界中のアプリケーションにガベージコレクションを持つアプリもありません。すべてのアンドロイドアプリです –
「世界を止める」と読むと思われます –