【发布时间】:2010-01-26 09:36:14
【问题描述】:
我想知道一个应用程序的最大线程数。
您知道 Thread.activeCount() 返回正在运行的线程组及其子组中的活动线程数。
如果我能知道在当前活动中创建的最大线程数,我可以限制活动线程。
我正在使用线程进行 http 连接并捕获 Http 响应。
提前致谢。
【问题讨论】:
标签: android
我想知道一个应用程序的最大线程数。
您知道 Thread.activeCount() 返回正在运行的线程组及其子组中的活动线程数。
如果我能知道在当前活动中创建的最大线程数,我可以限制活动线程。
我正在使用线程进行 http 连接并捕获 Http 响应。
提前致谢。
【问题讨论】:
标签: android
据我所知,代码没有强制执行的最大值。话虽如此,即使对于网络 I/O,收益递减也会很快出现,因为 Android 设备的 CPU 速度相当小,而且 RAM 相当有限。
请考虑使用AsyncTask 而不是您自己的线程。这使用了由 Android 设置的线程池,因此它将使用核心 Android 团队认为对平台有效的池大小。
【讨论】:
executeOnExecutor() 选择加入 THREAD_POOL_EXECUTOR。