HandlerThread的解析

(一)什么是HandlerThread以及HandlerThread能干什么

  1)当系统有多个耗时任务需要执行时,每个任务都会开启一个新的线程去执行耗时任务,这样会导致系统多次创建与销毁线程,从而影响性能。
    HandlerThread就是为了解决这种问题所产生。
    HandlerThread是在线程中创建一个Looper循环器,让Looper轮询消息队列,当有耗时任务进入队列时,则不需要开启新线程,在原有的线程中执行耗时任务即可,否则线程阻塞。

  2)特点:本质就是线程,因为继承了Thread。
          HandlerThread可以在Handler的handlerMessage中执行异步方法。
          HandlerThread与线程池不同,HandlerThread是一个串型队列,背后只有一个线程。
  
  3)优缺点:优点:异步不会堵塞,减少对性能消耗。

                     缺点:不能同时继续进行多任务处理,需等待进行处理,处理效率低。


(二)HandlerThread的本质:其实就是一个线程,就是Thread类内置封装了一个Looper


猜你喜欢

转载自blog.csdn.net/qq_33429583/article/details/79793357