Looper 调用 loop 方法后 , 会一直循环 , 不断地从 消息队列 MessageQueue 中取出 Message 消息 , 然后 将 Message 消息发送给对应的 Handler 执行对应的操作...;
从 消息队列 MessageQueue 中取出消息 , 也是 取出链表表头 的操作 , 取出该链表的表头 , 然后 将表头设置成链表的第二个元素 ;
消息同步 : 如果当前链表为空 , 此时会 调用...wait 方法阻塞 , 直到消息入队时 , 链表中有了元素 , 会调用 notify 解除该阻塞 ;
/**
* 从消息队列中获取消息
* @return
*/...previous.next = msg;
}
notify();
}
}
/**
* 从消息队列中获取消息...Looper 中 loop 方法中
Message result;
for (;;){
// 尝试和获取 消息队列 链表中的第一个元素