我想知道一个应用程序的最大线程数。一个应用程序的最大线程数?
你知道Thread.activeCount()返回正在运行的线程组及其子组中活动线程的数量。
如果我可以知道在当前活动中创建的最大线程数,我可以限制活动线程。
我使用线程进行http连接并捕获Http响应。
在此先感谢。
我想知道一个应用程序的最大线程数。一个应用程序的最大线程数?
你知道Thread.activeCount()返回正在运行的线程组及其子组中活动线程的数量。
如果我可以知道在当前活动中创建的最大线程数,我可以限制活动线程。
我使用线程进行http连接并捕获Http响应。
在此先感谢。
我没有注意到代码强制执行的最大值。这就是说,即使对于网络I/O来说,由于Android设备的CPU速度相当小,而且RAM非常有限,因此收益递减速度将会相当快。
请考虑使用AsyncTask
而不是您自己的线程。这使用了由Android设置的线程池,因此它将使用核心Android团队认为对平台有效的池大小。
AsyncTask很棒,唯一的问题是,在一些Android版本中,你不能有两个并行运行的任务(这些任务是串行执行的),但是在其他版本上你可以。除了从源代码中重写AsyncTask之外,还有什么解决方法? – Tomasz 2013-04-09 00:23:23
@Tomasz:“除了从其源代码中重写AsyncTask之外,还有其他解决方案吗?” - 使用API Level 11+上的'executeOnExecutor()'来选择'THREAD_POOL_EXECUTOR'。 – CommonsWare 2013-04-09 11:32:12
或者使用ThreadPoolExecutor进行专门的任务,在那里你有更好的控制。 – 2018-03-08 18:18:33
您是否找到答案? – 2012-04-24 11:42:30