2010-11-23 9 views
7

BB API(5.0)を見てきましたが、スレッドのバッチをシリアルで実行する方法が見つかりませんでした。私はBBが起動するスレッドの数に制限があることを知っているので、ユーザーが何かを速くクリックしてもスレッドプールのようなものは見つけられない場合は7を起動したくありません。ブラックベリーのキュースレッド

これは簡単に修正できますか、データ構造を作成する必要がありますか?

+0

なぜ複数のスレッドが必要ですか? UIをX、Y、Zを行う単一のスレッドを起動させるのはどうでしょうか? – seand

+0

それぞれのイベントが異なるためです。私はそれらを起動して、UIが完了するのを待ってブロックされないようにしたい。 – Nicholas

答えて

10

1つのスレッドで複数のタスクを連続して実行したい場合は、順序は重要ではありません。Timerオブジェクト(独自のスレッドを持つ)を作成し、各タスクをTimerTaskとして追加できます。 0または1の遅延でスケジュールすると、基本的にはできるだけ早くそのタスクを実行します。タイマーは1つのスレッドしか持たないため、複数のタスクを同時にスケジュールすると、一度に1つしか実行されません。

ちなみに、今年はBlackBerry Developer ConferenceでRIMエンジニアと話していましたが、OS 5.0ではスレッドの数に制限がなくなりました。 。

+1

+1のタイマーアプローチ。 –

+1

OSが制限を上回ったとしても、スレッドはモバイルデバイスのような制約付きenv上で依然として高価なリソースです。可能なときに必要なスレッドの数を減らすことは常に良い方法です。 – seand

+0

こんにちはすべて、私のアプリケーションの要件は、すべてのページでネットワークにアクセスする必要があります。私がやっていることは、ネットワーク接続が必要なすべての画面に対してスレッドを拡張する内部クラスを作成していることです。これは正しいアプローチですか?どんな種類のヘルプも感謝しています。 A.Y. – ayachama

関連する問題