HandlerThreadとLooperのソース コードへのリンクを次に示します。
2つを見ると、 aHandlerThread
がまさにその通りであることがわかります。これは、 aThread
を持つ aを開始する便利な方法Looper
です。なぜこれが存在するのですか?スレッドには、デフォルトではメッセージ ループがないためです。はHandlerThread
、そうするものを作成する簡単な方法です。Handler
ソースコードから判断すると、この関数を、Thread
、およびで複製できますか?Looper
答えはイエスです。
アンExecutor
は違います。送信された実行可能なExecutor
タスクを取得し、それらを実行するものを推測します。なぜこれが必要なのですか?これにより、タスクの実行を実際の内容から切り離すことができます。いつこれを使いますか?複数のタスクを同時に実行する必要がある状況があったとします。Executor
を使用して、それらすべてを単一のスレッドで実行することを選択して、それらが連続して実行されるようにすることができます。または、固定スレッド プールを使用して、すべてではなく一部を同時に実行することもできます。どちらの場合でも、タスクの内容、つまり実際に何を行っているかは、タスクが実行される方法とは別のものです。