我只是想知道为什么 Handler 必须采用 Runnable 的实例?毕竟,处理程序的目的是将工作从一个线程放入另一个线程。使用第三个线程的目的是什么,一个 Runnable 来完成这个?
亲切的问候,
我只是想知道为什么 Handler 必须采用 Runnable 的实例?毕竟,处理程序的目的是将工作从一个线程放入另一个线程。使用第三个线程的目的是什么,一个 Runnable 来完成这个?
亲切的问候,
我想我理解你的困惑:你认为一个Runnable
对象本身就是一个单独的Thread
. 它不是。简单来说,它只是一个对象,通过实现Runnable
接口,Thread
你将它传递给知道它可以通过调用它来执行其中的代码.run()
。
当您将Runnable
对象发送到 时Handler
,即在中Runnable
执行Handler
。Thread
简单来说,这样解释可能就足够了:如果你想为 aHandler
提供一些自己做的工作Thread
,那么你必须在一个对象中提供那段代码。现在,您提供给的对象Handler
必须实现某种,interface
以便Handler
知道在该对象中调用什么方法以使其完成所需的工作。基本来说,这就是接口的作用:实现该方法Runnable
的对象是强制的。Runnable
run()