4スレッドを並列に実行できますか?つまり、Androidで同時に実行できますか?
はい、4つのスレッドを並行して実行できます。通常、スレッドを追加すると役立ちますが、ある時点で、パフォーマンスが低下します。ただし、4つのスレッドでは問題は発生しません。
問題:スレッドを並列に実行できません。つまり、1番目のスレッドは4回実行され、2番目の3番目と4番目は1回だけ実行されます。それを並列に実行する方法(前述のスレッドを使用して試しましたが、すべてのスレッドを並列に実行できませんでした)?
単にすべてのスレッドをアクティブに処理することが目標である場合は、Javaスレッドプール(およびより一般的にはエグゼキューター)を調べることをお勧めします。
androidはマルチスレッドをサポートしていますか?はいの場合、Androidでマルチスレッドはどのように機能しますか?
はい、Androidはマルチスレッドをサポートしています。(スレッドプールとエグゼキューター以外の)それを実装する最も好ましい方法はAsyncTaskです
AsyncTaskdoInBackground()
を使用すると、スレッドをそのタスクでクランクアウトできる実装が可能になります。これは、から取得する機能に似ていますThread
。
本当の魔法は、両方ともUIスレッドで実行されるonPreExecute()
とonPostExecute()
をオーバーライドするときに発生します。これにより、アクティビティが添付されていないというメッセージが表示されなくなります。
この回答には、始めるための小さなコード例が含まれていAsyncTask
ます。
また、Androidのハンドラーもご覧ください
編集-調査中に見つけたのは、オーディオの録音、送信、受信はすべて非常にインタラクティブなプロセスであり、同期とIOリソースが必要であるということです。そのための最善の解決策は、操作ごとに個別のAsyncTaskを作成して、各操作が個別のAsyncTaskで実行されるようにすることです。