Handler消息机制实现线程间通讯的原理???
老师,这是我面试遇到的问题,我自己回去好好看了下,不知道说的对不对??帮我理一下
理解一: 因为Message用的是对象共存的池子,不管在什么线程,总是操作Message这个对象,所以实现了线程间通讯
理解二: 不管是子线程还是主线程使用Hnadler发送Message,最终都是MessageQueue进行处理,通过MessageQueue可以找到Message,相当于一个集合,不同线程把对象发到这个集合里面,最终通过Looper取出来,然后分发到对应线程的Handler
21
收起
正在回答
1回答
使用handler发送消息,而handler创建的时候自动会和所在线程的looper绑定,而loooper又自动和线程的messagequeue绑定。【此处的线程是指new handler()代码所在的线程】
在任意线程,只要拿到了其他线程的handler,就可以往那个线程的消息队列发送消息,从而线程间实现通信
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星