android - 单线程应用程序在android中使用多核吗?

标签 android multithreading multiprocessing

单线程应用程序是否使用四核手机中的所有 4 核。 我搜索了很多,发现一些文章说是,有些说不是。有些文章甚至说 android 操作系统不使用 4 核。

Android 是否能够在四核处理器中使用所有 4 个内核?

单线程应用程序是否使用多核?

最佳答案

答案是

Android 基本上是基于 Linux 内核构建的,该内核确实利用了多核。 就单线程应用程序而言,请记住一个线程不能同时在不同的内核上部分执行。所以你的单线程虽然可以在不同的时间点被不同的核心执行,但不能同时被不同的核心分割执行。

话虽如此,但请注意,像高通这样的芯片组制造商正在开发智能处理器,能够将您的单线程应用程序代码(当且仅当存在互斥部分)分割为多个线程并让它在不同的线程上运行核心。在这里,基本原理还是一样的——为了利用多核,将单个线程分割为多个线程。

为了充分利用您的多核芯片,您宁愿创建一个多线程应用程序,该应用程序具有尽可能多的异步线程,以便充分利用最大数量的内核。希望这可以清除。

编辑:

这也意味着 - 不使用多个异步线程(或任何其他并行结构)的应用不会使用多个内核。

关于android - 单线程应用程序在android中使用多核吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562424/

相关文章:

android - 我应该使用什么, 'normal' 还是支持库?

c# - 锁内的新线程 - C#

python - 多处理事件使我的代码变慢

android - 如何从自定义 ArrayAdapter 访问我的应用程序?

android - 如何修复错误 :WARNING in butterknife. Unbinder.<clinit>:()V: 定义静态接口(interface)方法需要 --min-sdk-version >= 24

android - 新列的 SQLite 升级中的重复列名

python - 在 Heroku 上使用线程更新数据库?

c++ - 原子变量c++

python - 如何在不同的进程python中增加计数器?

python - 多处理池意外杀死线程