是否有并行 Bolts-Android 任务的最大数量?
Is there a max number of parallel Bolts-Android Tasks?
我在 android Application
中使用 BoltsFramework
(Parse
)。假设我想在后台启动几个并行任务(多个线程)。是否有避免使用过多线程的限制?或者如果任务太多,我们可以放入一个队列吗?我想避免调用系列任务。
用例应该类似于并行启动多个任务(数量巨大),当所有任务都完成后做某事……
Bolts-Android 在后台使用线程池和队列,因此您不必担心自己管理它。如果你想看看它是如何实现的,你可以看到 BoltsExecutors.java
和 AndroidExecutors.java
.
在 JVM 环境中,它将使用默认值 Executors.newCachedThreadPool()
,它具有 Integer.MAX_INT
个并发并行线程的限制,并在线程用完时使用同步队列。
在 Android 环境中,它使用自定义池大小,该池大小根据您的 CPU 拥有的内核数量自行调整大小,并且在线程用完时也有一个同步队列。
你也可以在几个方法中传入你自己的Executor
来自己管理线程池
我在 android Application
中使用 BoltsFramework
(Parse
)。假设我想在后台启动几个并行任务(多个线程)。是否有避免使用过多线程的限制?或者如果任务太多,我们可以放入一个队列吗?我想避免调用系列任务。
用例应该类似于并行启动多个任务(数量巨大),当所有任务都完成后做某事……
Bolts-Android 在后台使用线程池和队列,因此您不必担心自己管理它。如果你想看看它是如何实现的,你可以看到 BoltsExecutors.java
和 AndroidExecutors.java
.
在 JVM 环境中,它将使用默认值 Executors.newCachedThreadPool()
,它具有 Integer.MAX_INT
个并发并行线程的限制,并在线程用完时使用同步队列。
在 Android 环境中,它使用自定义池大小,该池大小根据您的 CPU 拥有的内核数量自行调整大小,并且在线程用完时也有一个同步队列。
你也可以在几个方法中传入你自己的Executor
来自己管理线程池