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