0

なぜ Handler が Runnable のインスタンスを取得する必要があるのか​​ 疑問に思っていましたか? 結局、ハンドラーの目的は、あるスレッドから別のスレッドに作業を配置することです。これを達成するためにランナブルであるサードスレッドを使用する目的は何ですか?

敬具、

4

1 に答える 1

2

私はあなたの混乱を理解していると思います:あなたはRunnableオブジェクト自体が別ののインスタンスであると考えていますThread。そうではない。簡単に言うと、インターフェイスを実装することで、RunnableインターフェイスThreadを渡して、インターフェイスを呼び出し.run()て内部のコードを実行できることを確認することができます。

Runnableオブジェクトをに送信するとHandler、それは'sRunnableで実行されます。HandlerThread

簡単に言えば、このように説明するだけで十分でしょう。Handlerそれ自体で実行する作業をThreadに提供する場合は、オブジェクト内にそのコードを提供する必要があります。ここで、に提供するオブジェクトは、Handlerある種の実装を行う必要があります。これにより、オブジェクトが必要な処理を実行するinterfaceためHandlerに、そのオブジェクトで呼び出すメソッドを知ることができます。基本的には、それがインターフェースの機能です。実装するオブジェクトがメソッドを実装するRunnableことは必須です。Runnablerun()

于 2012-10-09T09:26:03.390 に答える