我在黑莓开发中面临问题。在我的应用程序中,我必须从服务器获取图像,所以我必须为从服务器加载的每个图像创建一个单独的连接线程..但这样做我得到TooManyThreadsException ..有关控制线程的任何想法...
在blackberry中,一个应用程序最多可以同时运行16个线程...但我必须一次显示超过16个图像...
答案 0 :(得分:5)
重用线程,排队所有图像,只运行几个线程,每个线程一次处理一个图像,然后继续下一个图像。
有一个原因,该单位每个进程只允许16个,而且它与资源有关。你基本上必须用更少的线程来做。
答案 1 :(得分:1)
您遇到与IE6等旧版浏览器相似的限制,这限制了每个域2个并发连接。
重新使用线程并在较少的并发线程上串行下载图像(可能使用2-3个线程来加快速度)。
在这里推测,但是绑定所有16个线程似乎可能导致不稳定的环境,因为BB OS在你的程序运行时正在做其他事情。
答案 2 :(得分:1)
我被教导过,动态创建线程几乎不是一个好方法,我会创建1-2个工作线程,其中有一个队列可以帮我完成工作。