2

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

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

4

3 回答 3

5

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

该单元每个进程只允许 16 个是有原因的,而且它与资源有关。您基本上必须使用更少的线程。

于 2009-09-11T13:52:32.313 回答
1

您在 IE6 等较旧的浏览器上遇到了类似的限制,每个域限制为 2 个并发连接。

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

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

于 2009-09-11T13:59:29.240 回答
1

我被告知动态创建线程几乎从来都不是一个好方法,我会创建 1-2 个工作线程和一个队列来为我完成这项工作。

于 2009-10-12T13:16:54.240 回答