Android 是否会将 UI 线程暂停到 运行 后台线程?
Will Android ever suspend a UI thread to run a background thread?
Android 线程调度程序是否保证主 UI 线程优先于所有其他用户 (worker/background) 线程,或者用户线程可能会中断主线程?我的目标是在不过度同步我的 Java/Kotlin 代码的情况下避免竞争条件。
所有线程都是平等的。他们中的任何一个都可以随时拿走处理器。哪一个获得处理器由其下的 Linux OS 调度程序决定,它试图确保最高优先级的线程获得 运行,同时确保尽可能没有任何东西被饿死。那个OS没有"main thread"的概念。所以是的,经常会有 UI 线程和另一个线程都想要 运行 并且另一个线程被调度的时候。你不能指望它只在某些时候发生。你必须做真正的多线程和同步。
Android 线程调度程序是否保证主 UI 线程优先于所有其他用户 (worker/background) 线程,或者用户线程可能会中断主线程?我的目标是在不过度同步我的 Java/Kotlin 代码的情况下避免竞争条件。
所有线程都是平等的。他们中的任何一个都可以随时拿走处理器。哪一个获得处理器由其下的 Linux OS 调度程序决定,它试图确保最高优先级的线程获得 运行,同时确保尽可能没有任何东西被饿死。那个OS没有"main thread"的概念。所以是的,经常会有 UI 线程和另一个线程都想要 运行 并且另一个线程被调度的时候。你不能指望它只在某些时候发生。你必须做真正的多线程和同步。