Android スレッド スケジューラは、他のすべてのユーザー (ワーカー/バックグラウンド) スレッドよりもメイン UI スレッドを優先することが保証されていますか?それとも、ユーザー スレッドがメイン スレッドを中断する可能性がありますか? 私の目標は、Java/Kotlin コードを過度に同期することなく、競合状態を回避することです。
1 に答える
2
すべてのスレッドは同等です。それらのいずれかがいつでもプロセッサを使用できます。どちらがプロセッサを取得するかは、その下にある Linux OS スケジューラによって決定されます。これは、可能であれば何も飢えないようにしながら、最も優先度の高いスレッドが実行されるようにします。そのOSには「メインスレッド」の概念がありません。そうです、UI スレッドと別のスレッドの両方を実行したいのに、もう一方のスレッドがスケジュールされている場合がよくあります。特定の時点でのみ発生するとは期待できません。実際のマルチスレッドと同期を行う必要があります。
于 2019-10-03T23:35:14.680 に答える