是否有并行 Bolts-Android 任务的最大数量?

Is there a max number of parallel Bolts-Android Tasks?

我在 android Application 中使用 BoltsFramework (Parse)。假设我想在后台启动几个并行任务(多个线程)。是否有避免使用过多线程的限制?或者如果任务太多,我们可以放入一个队列吗?我想避免调用系列任务。 用例应该类似于并行启动多个任务(数量巨大),当所有任务都完成后做某事……

Bolts-Android 在后台使用线程池和队列,因此您不必担心自己管理它。如果你想看看它是如何实现的,你可以看到 BoltsExecutors.javaAndroidExecutors.java.

在 JVM 环境中,它将使用默认值 Executors.newCachedThreadPool(),它具有 Integer.MAX_INT 个并发并行线程的限制,并在线程用完时使用同步队列。

在 Android 环境中,它使用自定义池大小,该池大小根据您的 CPU 拥有的内核数量自行调整大小,并且在线程用完时也有一个同步队列。

你也可以在几个方法中传入你自己的Executor来自己管理线程池

https://github.com/BoltsFramework/Bolts-Android/blob/master/bolts-tasks/src/main/java/bolts/BoltsExecutors.java

https://github.com/BoltsFramework/Bolts-Android/blob/master/bolts-tasks/src/main/java/bolts/AndroidExecutors.java