[发明专利]一种多优先级的线程消息处理方法有效
申请号: | 201410734742.7 | 申请日: | 2014-12-04 |
公开(公告)号: | CN104391752B | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | 马风军 | 申请(专利权)人: | 中国电子科技集团公司第四十一研究所 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 贾文健 |
地址: | 266555 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优先级 线程 消息 处理 方法 | ||
本发明提供一种多优先级的线程消息处理方法,提供了五种消息处理的不同优先级设计;不同优先级线程消息的处理机制设计;定制的线程消息路由设计;通过该方法,可以使线程对消息处理的实时性与功能性得到显著提高;该方案基于已有的操作系统消息机制进行改进,成熟可靠;该方案适合于所有采用Windows平台,适用性广;接口简单清晰,易于使用。
技术领域
本发明涉及消息处理技术领域,具体涉及一种多优先级的线程消息处理方法。
背景技术
现代频谱分析仪等测量仪器的软件功能复杂,一般基于Windows系统并采用多线程设计,Windows系统中的消息机制成熟易用,但其线程消息处理接口只能处理异步消息,若能将消息的易用性与多线程结合,使线程具备处理不同优先级消息的能力,将大大提高软件的实时处理能力,同时丰富软件的功能。
在进行多线程通信时,常常采用事件或互斥等方法同步,虽然可以实现线程运行的同步,但无法在线程间传递参数,对于测量仪器的复杂功能受到较大限制。这种设计下实现线程间参数传递的方式一般是采用额外的数据区进行辅助通信,但数据区的设计因各种具体设备与设计人员而定,接口形式很难统一,复用性几乎不可实现。
消息机制是具备灵活成熟可靠的特点,可传递各种参数,具备广泛的适用性,但只有窗口消息传递具备同步回调、同步优先级,线程消息传递仅有异步优先级,因此原有平台提供的功能并不满足测量仪器的软件功能要求。
发明内容
本发明的目的是提供一种多优先级的线程消息处理方法,通过不同优先级线程消息的处理机制设计,与特定的窗口关联,实现安全调用、直接调用,实现了各种线程优先级消息的处理能力。
为达上述目的,本发明实施例提供了一种多优先级的线程消息处理方法,包括:
判断消息的线程优先级;
若所述消息为异步优先级,则通过Windows平台提供的线程消息路由将该消息转发给线程预处理接口进行预处理;进行预处理后,发送到特定线程消息路由器;
若所述消息为回调或同步优先级,则通过所述Windows平台提供的线程消息路由将该消息转发给窗口进行处理,进行窗口处理后,发送到所述特定线程消息路由器;
若所述消息为安全调用优先级,则将该消息发送到所述特定线程消息路由器;
若判断所述消息为紧急调用,则将该消息发送到所述特定线程消息路由;
通过所述特定线程消息路由器调用与所述消息的优先级对应的处理接口,处理所述消息。
进一步的,所述判断消息的线程优先级具体为:
若所述消息用于人机界面操作或对处理时间顺序无要求也无需提供处理反馈信息的操作,则将该消息判定为异步优先级;否则判断该消息是否为回调或同步优先级;
若所述消息用于人机界面操作或对处理时间顺序无要求但需提供处理反馈信息的操作,则将该消息判定为回调优先级;否则判断该消息是否为安全调用;
若所述消息对处理顺序有要求,则将该消息判定为同步优先级;否则判断该消息是否为安全调用;
若所述消息对处理顺序有要求,但相比当前同步处理还能更快响应且不破坏当前消息的的处理,则判定该消息为安全调用优先级;否则判定该消息为对实时性要求级别最高;若所述消息对实时性要求级别为最高,则判定该消息为紧急调用。
进一步的,所述通过所述特定线程消息路由器调用与优先级对应的处理接口,处理所述消息,具体包括:
遍历搜索线程的消息映射数据;
如搜索到消息对应的处理接口,则由该消息对应的处理接口进行处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第四十一研究所,未经中国电子科技集团公司第四十一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410734742.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种计算机容错方法及系统
- 下一篇:继电保护装置保护元件动态调用的实现方法