线程异常太多

时间:2009-09-11 13:51:03

标签: multithreading blackberry threadpool

我在黑莓开发中面临问题。在我的应用程序中,我必须从服务器获取图像,所以我必须为从服务器加载的每个图像创建一个单独的连接线程..但这样做我得到TooManyThreadsException ..有关控制线程的任何想法...

在blackberry中,一个应用程序最多可以同时运行16个线程...但我必须一次显示超过16个图像...

3 个答案:

答案 0 :(得分:5)

重用线程,排队所有图像,只运行几个线程,每个线程一次处理一个图像,然后继续下一个图像。

有一个原因,该单位每个进程只允许16个,而且它与资源有关。你基本上必须用更少的线程来做。

答案 1 :(得分:1)

您遇到与IE6等旧版浏览器相似的限制,这限制了每个域2个并发连接。

重新使用线程并在较少的并发线程上串行下载图像(可能使用2-3个线程来加快速度)。

在这里推测,但是绑定所有16个线程似乎可能导致不稳定的环境,因为BB OS在你的程序运行时正在做其他事情。

答案 2 :(得分:1)

我被教导过,动态创建线程几乎不是一个好方法,我会创建1-2个工作线程,其中有一个队列可以帮我完成工作。