[发明专利]消息调度方法和装置在审
申请号: | 201710116550.3 | 申请日: | 2017-03-01 |
公开(公告)号: | CN106951332A | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 鲁可 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48 |
代理公司: | 北京律智知识产权代理有限公司11438 | 代理人: | 邢雪红,乔彬 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 调度 方法 装置 | ||
技术领域
本发明涉及计算机应用技术领域,特别涉及一种消息调度方法和装置。
背景技术
Android操作系统中应用程序是通过主线程和子线程的配合实现各种功能的,主线程用于实现消息的处理,而与主线程交互的子线程则执行各种操作,并相应产生待处理的消息,将此消息发送给主线程。此时,主线程将按照指定时间对自身接收的消息进行处理,例如,执行相应的界面更新,以将待处理的消息显示至更新的界面中。随着子线程上各种操作的执行,将在不断产生待处理的消息,并随之发送给主线程,主线程有一自带的系统消息队列,每一进入系统消息队列的消息都会根据执行时间进行排队,以顺次经由主线程进行此系统消息队列中消息的处理由此便实现了消息的调度。
但是,此消息调度过程的实现无法保证对应于高优先级的消息被及时处理。而在多消息队列实现的消息调度中,每一消息队列,都是一优先级消息队列,即唯一对应了一优先级。
按照优先级的高低顺序分别对一优先级消息队列中的消息执行相应操作,进而实现消息的处理。并且只有在当前优先级消息队列为空时,方可转至下一优先级消息队列,对下一优先级消息队列实现消息的处理,以此类推,完成所有优先级消息队列中消息的处理。
在此过程中,虽然为消息实现了优先级的区分,并且使得消息的调度是与消息对应的优先级相符合的,但是,由于只有在当前优先级消息队列为空时才能够转至下一优先级消息队列,所以消息调度中存在着消息处理性能较差的局限性。
具体而言,一优先级消息队列中,排队执行的每一消息,都有其所对应的执行时间,如果未到达此执行时间,则需等待直至到达此执行时间方可对消息触发执行相应的操作,以实现消息的处理。
因此,一优先级消息队列中,以及各优先级消息队列之间,并其性能并未获得充分利用,消息处理性能存在着非常大的提升空间。
发明内容
为了解决相关技术中存在的消息调度中消息处理性能较差,消息处理性能并未获得充分利用的技术问题,本发明提供了一种消息调试方法和装置。
一种消息调度方法,所述方法包括:
主线程的消息调度中,通过与系统消息容器关联的自定义消息容器获得系统消息容器中消息均未到达执行时间的通知;
根据所述系统消息容器中消息均未到达执行时间的通知从所述自定义消息容器取出消息;
为取出的所述消息执行相应的操作。
一种消息调度装置,所述装置包括:
通知获得模块,用于主线程的消息调度中,通过与系统消息容器关联的自定义消息容器获得系统消息容器中消息均未到达执行时间的通知;
消息取出模块,用于根据所述系统消息容器中消息均未到达执行时间的通知从所述自定义消息容器取出消息;
操作执行模块,用于为取出的所述消息执行相应的操作。
本发明的实施例提供的技术方案可以包括以下有益效果:
主线程的消息,将通过消息调度实现主线程的消息处理,而在主线程的消息调度中,通过与系统消息容器关联的自定义消息容器获得系统消息容器中未对消息执行操作的通知,根据系统消息容器中消息均未到达执行时间的通知从自定义消息容器取出消息,为取出的消息执行相应的操作,以此类推,便实现了主线程的所有消息处理,在此过程中,由于是在主线程的系统消息容器中所有消息均未到达执行时间时对自定义消息容器中的消息执行相应的操作,兼顾了系统消息容器和自定义消息容器中的消息处理,并且不再由于主线程的系统消息容器中未到达执行时间而持续等待,以此来提升消息调度中消息处理的性能,进而使得消息处理性能获得充分利用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种消息调度方法的流程图;
图2是根据一示例性实施例示出的对通过系统消息容器根据自身是否为空和/或存在到达执行时间的消息而生成自身消息均未到达执行时间的通知,将通知发送至关联的自定义消息容器步骤的细节进行描述的方法流程图;
图3是根据另一示例性实施例示出的一种消息调度方法的流程图;
图4是根据一示例性实施例示出的Android操作系统中消息机制的流程示意图;
图5是根据一示例性实施例示出的消息调度的应用流程图;
图6是根据一示例性实施例示出的一种消息调度装置的框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710116550.3/2.html,转载请声明来源钻瓜专利网。