Android多线程知识(一):Handler机制的基本原理:

Handler机制的基本原理:

今天面试想起问到了一些关于Android多线程的问题,一时半刻回答不来,现今得好好的复习一下,以后根据情况爬一下底层原理看看才行。

*Handler:是子线程同UI线程(主线程)通信的一种机制。在整个子线程传递数据到主线程的过程中充当着"快递员",如同我(子线程)通过打包(Message)物品寄送到收件人(主线程)这一过程,都离不开快递员(Handler)。使用Handler,可以在多个线程并发更新ui的同时保证线程的安全。

用途:

在这里插入图片描述
Handler工作流程:
1.异步通信准备
2.消息入队
3.消息队列
4.消息处理

1.异步通信准备:在主线程中创建对象处理器对象Looper,消息队列对象MessageQueue和Handler对象。
2.消息入队:工作线程通过Handler发送消息Message到消息队列MessageQueue中,消息的内容等同工作线程对UI的操作。
3.消息队列:分两种情况,消息出列和消息分发;消息出列就是处理器Looper循环取出Message;而消息分发就是处理器Looper将取出的消息Message发送给创建该消息的处理者Handler。
4.消息处理:处理者Handler接收处理器Looper发送过来的消息;处理者Handler根据消息Message进行UI操作。

注意的是:
一个线程Thread只能绑定一个循环器Looper,但可以有多个处理者handler。
一个循环器Looper可以绑定多个处理者Handler。
一个处理者Handler只能绑定一个循环器Looper。

参考资料:
https://blog.csdn.net/luoyingxing/article/details/86500542
https://blog.csdn.net/carson_ho/article/details/80175876

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值