Handler消息机制实现线程间通讯的原理???

Handler消息机制实现线程间通讯的原理???

​老师,这是我面试遇到的问题,我自己回去好好看了下,不知道说的对不对??帮我理一下

理解一: 因为Message用的是对象共存的池子,不管在什么线程,总是操作Message这个对象,所以实现了线程间通讯

理解二: 不管是子线程还是主线程使用Hnadler发送Message,最终都是MessageQueue进行处理,通过MessageQueue可以找到Message,相当于一个集合,不同线程把对象发到这个集合里面,最终通过Looper取出来,然后分发到对应线程的Handler

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

使用handler发送消息,而handler创建的时候自动会和所在线程的looper绑定,而loooper又自动和线程的messagequeue绑定。【此处的线程是指new  handler()代码所在的线程】

在任意线程,只要拿到了其他线程的handler,就可以往那个线程的消息队列发送消息,从而线程间实现通信

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师