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

时间:2016-03-03 13:09:00

标签: android bolts-framework

我在android BoltsFramework中使用ParseApplication)。让我们说我想在后台启动几个并行任务(所以几个线程)。避免使用太多线程是否有限制?或者,如果任务太多,我们可以排队吗?我想避免串联调用任务。 用例应该类似于并行启动多个任务(数量巨大)以及完成所有操作后的事情......

1 个答案:

答案 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来自行管理线程池。

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