1

我在 android 中使用BoltsFramework( ) 。假设我想在后台启动几个并行任务(所以几个线程)。是否有避免使用过多线程的限制?或者如果任务太多我们可以排队吗?我想避免将任务串联起来。用例应该类似于并行启动多个任务(大量),当所有任务完成后做某事……。ParseApplication

4

1 回答 1

0

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

于 2016-03-04T01:40:16.447 回答