gpt4 book ai didi

java - 安卓多线程

转载 作者:行者123 更新时间:2023-11-29 20:42:28 25 4
gpt4 key购买 nike

我可以在 Android 应用程序中并发运行多少个 Java 线程?我认为这将是一个依赖于体系结构的事情,所以有没有办法确定相同的东西?

最佳答案

How many Java threads can I run concurrently in an Android Application ?

这取决于您对“运行”和“并发”的定义。

您可以根据需要启动任意数量的线程,主要受内存限制。

同时执行的线程数取决于设备上 Activity 内核的数量。

I think this would be an architecture dependent thing

除了架构之外,它还取决于正在发生的事情,因为 Android 设备会尽可能地关闭内核以节省电池电量。此外,根据线程正在执行的操作(例如,阻塞 I/O),拥有比核心更多的线程是合理的。

典型的多核线程池大小调整算法是使用 2n+1 个线程,其中 n 是核心数。 AsyncTask uses this approach ,例如:

private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
private static final int CORE_POOL_SIZE = CPU_COUNT + 1;
private static final int MAXIMUM_POOL_SIZE = CPU_COUNT * 2 + 1;

在这里,线程池将增长到 MAXIMUM_POOL_SIZE,这是核心数 (availableProcessors()) 的两倍加一。

关于java - 安卓多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30818674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com