Handler线程间通信

Handler

1 handler主要处理两种对象。

一是Message对象,一是Runable对象。

实际上Runable对象也会获得一个Message对象。

 

2 每个handler对象同当前所在的线程和消息队列绑定。

handler对象从消息队列中获得Message,后者向消息队列中发送Message。

 

3 handler主要有两类方法。

一类是post开头的,主要向消息队列中传递Runable对象。

一类是sendMessage,主要向消息队列传递Message对象。

 

4 handler线程间通信。

主线程创建一个handler对象。那么主线程的消息队列就与这个handler对象绑定。

handler对象被传递给工作线程。

工作线程需要向主线程通信的时候,通过handler对象向主线程的消息队列发送Message。

在主线程的handler对象,通过handleMessage获得这个Message。可以做出相应的界面反应。

 

handler还有种常用功能。延迟启动一个线程。

主线程创建一个handler对象。

handler对象调用postDelayed,将一个Runable对象传递到主线程的消息队列中。

到达指定时间,消息会回调Runable对象的run方法。

run方法执行新线程的工作。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值