[发明专利]队列消息的处理方法、控制消息进入队列的方法及装置有效
申请号: | 201310504955.6 | 申请日: | 2013-10-23 |
公开(公告)号: | CN103543988B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 高光远 | 申请(专利权)人: | 华为终端有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙)11363 | 代理人: | 许伟群,郭放 |
地址: | 518129 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 队列 消息 处理 方法 控制 进入 装置 | ||
技术领域
本发明涉及信息处理技术领域,特别涉及一种队列消息的处理方法、控制消息进入队列的方法及装置。
背景技术
消息处理机制(Handler)是Android系统的核心设计机制之一,整个系统都是靠消息来驱动的。比如,消息队列是消息处理类(Looper)中的消息存储队列。Looper中的消息侦听方法中,先把消息取出,然后调用Handler的消息分发处理方法对消息进行处理。Handler类的消息入队方法中,往消息队列中放入消息。loop方法每次都是从消息存储队列的头中取消息。对于需要在同一时刻处理的消息,Handler类的消息入队方法中,每次把该消息放到距离队列头最近的位置。消息在队列中是按照离处理时刻越近的消息越靠近消息队列的头的方式进行排列,如果处理时刻的域值填充的是0,表示该消息需要立即处理。图1为现有技术中多个消息进入队列的顺序的示意图,假设有A、B、C、D、E、F五个消息需要立即处理,每隔100毫秒来一个消息,处理一个消息需要1000毫秒。消息进入队列和取出被处理的顺序分别为:消息进入队列的顺序为:A、B、C、D、E、F;以及消息取出被处理的顺序为:A、F、E、D、C、B。可见,先到的消息B在后到的消息C/D/E/F之后才处理。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有的实现方式中,对于后到的消息先处理,而先到的消息后处理,容易导致应用程序无响应(ANR,Application Not Responding),也降低了对消息处理的时效性。
发明内容
本发明实施例中提供了一种消息队列的处理方法、控制消息进入队列的方法及装置,以解决现有技术中对先到消息进行后处理,导致处理消息的时效性降低的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种消息队列的处理方法,所述方法应用于移动终端的操作系统,所述方法包括:
接收需要处理的消息;
按照所述消息的依赖关系进行分类,并将分类后的消息放入对应的处理队列组中,所述 处理队列组包括:并行处理队列组和串行处理队列;
获取所述处理队列组中的头节点链表,所述头节点链表为对应的处理队列组中每个不同时刻对应的消息链表的节点连接在一起的链表;其中,所述头节点链表包括:并行处理队列组中的并行头节点链表和串行处理队列组中的串行头节点链表;
在达到对应的所述头节点链表中的节点的处理时刻时,对所述头节点链表中的节点的消息链表进行处理。
在第一方面的第一种可能的实现方式中,还包括:
在达到下一个节点的处理时刻时,将所述下一个节点的消息链表链接到当前链表的尾部,其中,所述下一个节点为所述并行头节点链表中或所述串行头节点链表中当前正在处理的节点的下一个节点。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
在将所述下一个节点的消息链表链接到当前链表的尾部后,删除所述头节点链表中所述下一个节点的消息链表对应的节点,其中,所述下一个节点的消息链表为所述并行头节点链表或串行头节点链表中的下一个节点的消息链表。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述获取到的所述头节点链表中每个头节点的头指针域和尾指针域,分别指向对应的所述消息链表的头部和尾部,其中,所述头节点链表中的每个头节点包括:并行头节点链表中的每个头节点和串行头节点链表中的每个头节点。
结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述按照所述消息的依赖关系进行分类,并将分类后的消息放入对应的处理队列组中,包括:
判断所述消息中是否包括指示信息,如果包括指示信息,则按照所述指示信息对所述消息进行分类,并将分类后的所述消息放入对应的处理队列组中对应时刻的相应消息链表中;如果没有包括指示信息,则将所述消息放入对应的串行处理队列组中对应时刻的相应消息链表中。
第二方面提供了一种控制消息进入队列的方法,所述方法包括:
接收消息;
在所述消息中添加指示信息,以便于接收到所述消息的处理器按照添加的指示信息对所述消息进行分类,并对分类后的所述消息进行并行处理。
在第二方面的第一种可能的实现方式中,所述指示信息包括:并行标识或串行标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为终端有限公司,未经华为终端有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310504955.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型播放器
- 下一篇:检测乙肝表面抗原的免疫层析试纸及其制备方法