HanderThread具体用来干嘛的

平时属于用的比较多的一个Thread类 按照定义集成了Thread类 又封装了Handler类

以下是HandlerThread的用法

// 步骤1:创建HandlerThread实例对象

// 传入参数 = 线程名字,作用 = 标记该线程

  HandlerThread mHandlerThread = new HandlerThread("handlerThread");

// 步骤2:启动线程

  mHandlerThread.start();

// 步骤3:创建工作线程Handler & 复写handleMessage()

// 作用:关联HandlerThread的Looper对象、实现消息处理操作 & 与其他线程进行通信

// 注:消息处理操作(HandlerMessage())的执行线程 = mHandlerThread所创建的工作线程中执行

  Handler workHandler = new Handler( handlerThread.getLooper() ) {

            @Override

            public boolean handleMessage(Message msg) {

                ...//消息处理

                return true;

            }

        });

————————————————

原文链接:https://blog.csdn.net/carson_ho/article/details/79285760

详细使用可以参考原文链接  

其实我自己通过查看源码 (一百来行代码)

个人觉得HanderThread 的作用 比较通俗易懂的理解就是 这个Thread不是用来跑run方法的,

而是这个Thread是用来创建Looper对象的,如果类比主线程和子线程是电梯(模式固定),那么HanderThread 就是个移动的梯子,可以主线程和线程 也可以线程和线程,这么理解HanderThread会比定义会更通俗易懂点。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容