android 对于消息队列的一点疑问

plugin 发布于 2015/05/17 22:01
阅读 170
收藏 0
我看了源码,这个消息队列,实际上是由单向链表实现的。而把消息放入消息队列的过程,不是每一次放到队尾,而是很据when插到合适的地方去。也就是说这个消息队列是一个以when小的在前面,大的在后的单向链表,每次确实是从队首取,但不是插到队尾。这应该不符合队列的定义吧

另外,我在分析源码的时候到ActivityThread里的main方法的Looper.loop() 这是一个死循环,难道不会引起ui线程的阻塞吗?但是没看到他是在单独的线程中执行的啊?
加载中
0
xesam
xesam

1. 这是一个优先级队列,你要说它不符合最精确的队列定义,其实也没什么问题。

2. 事件驱动的编程,肯定都存在一个事件分发的死循环,来防止线程结束。不然主线程一结束,应用就结束了。


plugin
plugin
是的吧
亓斌哥哥
亓斌哥哥
回复 @plugin : UI线程并不是主线程
plugin
plugin
感谢。关于第二点,再请教下,这个事件分发的死循环,但是主线程又不是只做事件分发,还有其他工作。老在这死循环。其他事怎么做
0
softfire
softfire
哈哈,其实这个做过windows开发的人很容易就明白了,Android应该借鉴的是windows消息循环的思想。
返回顶部
顶部