《深入理解Android》一3.6 WebKit运行时线程结构
本节书摘来自华章出版社《深入理解Android》一书中的第3章,第3.6节,作者孟德国 王耀龙 周金利 黎欢,更多章节内容可以访问云栖社区“华章计算机”公众号查看
3.6 WebKit运行时线程结构
Android平台上的WTF库提供了线程结构的C++封装,本节要分析WebKit的运行时线程结构、单个线程的实现结构,以及WebKit运行时多个线程的同步及交互。
3.6.1 MessageQueue实现分析
WebKit线程的经典实现结构为:线程入口函数包含一个循环loop,loop 内部包含一个messageQueue.waitForMessage();操作,这样在没有等待处理的消息时,将线程挂起在messageQueue内部封装的一个ThreadCondition上,而在有消息时循环处理消息。MessageQueue运行原理如图3-3所