私はブラックベリーの開発で問題に直面しています。私のアプリケーションでは、サーバーから画像を取得する必要があるため、サーバーからロードする画像ごとに個別の接続スレッドを作成する必要があります。しかし、そうすることで、TooManyThreadsExceptionが発生します。スレッドの制御に関するアイデア...
ブラックベリーでは、アプリケーションは最大16のスレッドを同時に実行できます...しかし、一度に16を超える画像を表示する必要があります...
私はブラックベリーの開発で問題に直面しています。私のアプリケーションでは、サーバーから画像を取得する必要があるため、サーバーからロードする画像ごとに個別の接続スレッドを作成する必要があります。しかし、そうすることで、TooManyThreadsExceptionが発生します。スレッドの制御に関するアイデア...
ブラックベリーでは、アプリケーションは最大16のスレッドを同時に実行できます...しかし、一度に16を超える画像を表示する必要があります...
スレッドを再利用し、すべての画像をキューに入れ、いくつかのスレッドを実行します。それぞれが一度に 1 つの画像を処理してから次の画像に進みます。
ユニットがプロセスごとに 16 しか許可しないのには理由があり、それはリソースに関係しています。基本的には、より少ないスレッドで間に合わせる必要があります。
ドメインごとに 2 つの同時接続に制限される IE6 などの古いブラウザーでも同様の制限が発生します。
スレッドを再利用し、より少ない同時スレッドでイメージをシリアルにダウンロードします (おそらく、処理を高速化するために 2 ~ 3 スレッドを使用します)。
ここで推測するだけですが、プログラムの実行中に BB OS が他のことを行っているため、16 のスレッドすべてを拘束すると環境が不安定になる可能性があるようです。
私は、スレッドを動的に作成することはほとんど良い方法ではないことを教えられてきました.私は、私のために仕事をするキューで1-2のワーカースレッドを作成したでしょう.