我在android BoltsFramework
中使用Parse
(Application
)。让我们说我想在后台启动几个并行任务(所以几个线程)。避免使用太多线程是否有限制?或者,如果任务太多,我们可以排队吗?我想避免串联调用任务。
用例应该类似于并行启动多个任务(数量巨大)以及完成所有操作后的事情......
答案 0 :(得分:0)
Bolts-Android在幕后使用带有队列的线程池,因此您不必担心自己管理它。如果您想查看其实施方式,可以看到try:
couch = couchdb.Server() # assuming localhost
db = couch['existent']
except:
db = couch.create('somedb')
和BoltsExecutors.java
。
在JVM环境中,它将使用默认的AndroidExecutors.java
,它具有Executors.newCachedThreadPool()
个并发线程的限制,以及当线程用完时的同步队列。
在Android环境中,它使用自定义池大小,该大小根据CPU拥有的核心数量而自行调整,并且当线程用完时也具有同步队列。
您也可以通过多种方法传递自己的Integer.MAX_INT
来自行管理线程池。