在android编程里面 new Thread(new Runnable(){....}) 和new HandleThread 各自都能生成一个独立的线程
 问题他们生成的线程有什么区别呢!  求高手解答!本人小菜...

解决方案 »

  1.   

    个人理解,handler是用来线程之间通信用的
    特别是当我们需要更新一些界面的东西,只能通过给主线程发消息,让主线程进行更新界面,这时主线程的Handler就负责接收这个消息!个人理解,我也是菜鸟
      

  2.   

    Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。     而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个进程。     HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环。     与其说Handler和一个线程绑定,不如说Handler是和Looper一一对应的。 
      

  3.   

    HandlerThread继承于Thread,所以它本质就是个Thread。与普通Thread的差别就在于,它有个Looper成员变量。这个Looper其实就是对消息队列以及队列处理逻辑的封装,简单说就是 消息队列+消息循环。
    当我们需要一个工作者线程,而不是把它当作一次性消耗品,用过即废弃的话,就可以使用它。