首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HandlerThread简单理解,子线程创建线程

HandlerThread简单理解,子线程创建线程

作者头像
zhangjiqun
发布2024-12-16 16:49:35
发布2024-12-16 16:49:35
2990
举报
文章被收录于专栏:计算机工具计算机工具
HandlerThrea

HandlerThread本质上就是一个普通Thread,只不过内部建立了Looper.

HandlerThread的常规用法
  • 创建一个HandlerThrea启动一个HandlerThread

mThread = new HandlerThread("handler_thread");

mThread.start();

子线程创建线程:

可以在子线程直接new一个Handler吗?怎么做?

不可以,因为在主线程中,Activity内部包含一个Looper对象,它会自动管理Looper,处理子线程中发送过来的消息。而对于子线程而言,没有任何对象帮助我们维护Looper对象,所以需要我们自己手动维护。所以要在子线程开启Handler要先创建Looper,并开启Looper循环.

代码:

Handler:在android中负责发送和处理消息,通过它可以实现其他支线线程与主线程之间的消息通讯。

Thread:Java进程中执行运算的最小单位,亦即执行处理机调度的基本单位。某一进程中一路单独运行的程序。

HandlerThread:一个继承自Thread的类HandlerThread,Android中没有对Java中的Thread进行任何封装,而是提供了一个继承自Thread的类HandlerThread类,这个类对Java的Thread做了很多便利的封装。HandlerThread继承于Thread,所以它本质就是个Thread。与普通Thread的差别就在于,它在内部直接实现了Looper的实现,这是Handler消息机制必不可少的。有了自己的looper,可以让我们在自己的线程中分发和处理消息。如果不用HandlerThread的话,需要手动去调用Looper.prepare()和Looper.loop()这些方法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HandlerThrea
  • HandlerThread的常规用法
  • 子线程创建线程:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档