BlackBerryのスレッドの概念について知りたいです。
Androidには、通信する非同期タスクまたはハンドラーがあります。ブラックベリーで利用可能な同様のものはありますか?2つのスレッドはどのように通信しますか?バックグラウンドスレッドからUIスレッドにデータをどのように渡しますか?
BlackBerryのスレッドの概念について知りたいです。
Androidには、通信する非同期タスクまたはハンドラーがあります。ブラックベリーで利用可能な同様のものはありますか?2つのスレッドはどのように通信しますか?バックグラウンドスレッドからUIスレッドにデータをどのように渡しますか?
並行性は些細なことではありません。スレッドセーフなソリューションを作成することは非常に困難です。Blackberry Javaでは、JavaME Threading APIしか使用できないため、状況はさらに悪化します。つまり、すべてのJava SE高レベルクラス(エグゼキュータ、ロック、コレクションなど)を使用することはできません。
私のアドバイスは、Androidやその他の高レベルの並行性関連のクラスを自分で移植しようとしないことAsyncTask
です。これは、間違いを犯す可能性が非常に高いためです(並行プログラミングに精通している場合を除く)。私自身はなるべく避けたいと思います。代わりに、並行コードをできるだけ単純かつ小さくしてください。ほとんどの場合、必要なのはワーカースレッドからGUIを更新することだけです。UiApplication.invokeLater
これはとを使用して簡単に実行でき、UiApplication.invokeAndWait
並行コードを作成する必要はまったくありません。
並行性について詳しく知りたい場合は、Oracleによるこのチュートリアルから始めます。これはJavaSEを対象としていますが、ほぼ前半はJavaMEにも役立ちます。より高度な並行プログラミングを学びたい場合は、この本を読む必要があります。