System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种消息处理方法、装置、电子设备及存储介质制造方法及图纸_技高网

一种消息处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40236853 阅读:6 留言:0更新日期:2024-02-02 22:36
本申请公开了消息处理方法、装置、电子设备及存储介质,其中,消息处理方法可应用于计算机技术领域,该方法包括:在目标消息处理线程处于工作状态时,基于目标消息处理线程按预设时间间隔向消息接收系统发送待处理消息获取请求,使得消息接收系统返回待处理消息获取结果;在连续接收到预设数量的第一待处理消息获取结果时,开启消息接收系统的事件驱动机制,注册目标回调函数,调整目标消息处理线程进入休眠状态;响应于对目标回调函数的调用,关闭消息接收系统的事件驱动机制,并调整目标消息处理线程进入工作状态,基于目标消息处理线程处理第一消息处理请求所指示的待处理消息。本申请实现消息处理的低时延,同时降低了中央处理器的资源消耗。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种消息处理方法、装置、电子设备及存储介质


技术介绍

1、在操作系统中发生的一切都可以用消息来表示,消息用于告诉操作系统发生了什么,所有计算机程序都是消息驱动的。应用于计算机程序的消息处理机制包括是轮询机制和事件驱动机制。

2、开启轮询机制时,程序会以一定的频率不断地去检查是否有新的输入或事件发生,如果有就进行相应的处理。这种机制的优点是消息处理过程更容易由用户控制,可以将线程与cpu(central processing unit,中央处理器)核进行亲和性绑定并设置极低的轮询时间间隔来提高消息处理性能,达到消息处理低时延的要求;缺点是可能会浪费一些cpu资源,因为即使没有新的消息或数据需要处理,程序仍然会继续轮询。

3、开启事件驱动机制时,程序会注册一个回调函数,该函数将在底层系统有新的消息或数据需要处理时被调用。这种机制的优点是比轮询更加节约中央处理器的资源,因为消息处理线程只在有新的消息到达时才会被唤醒;缺点是处理过程由操作系统底层控制,会带来不可控的消息处理时延。


技术实现思路

1、为了解决现有技术的问题,本申请实施例提供了一种消息处理方法、装置、电子设备及存储介质。所述技术方案如下:

2、一方面,提供了一种消息处理方法,所述方法包括:

3、在目标消息处理线程处于工作状态的情况下,基于所述目标消息处理线程按照预设时间间隔向消息接收系统发送待处理消息获取请求,以使得所述消息接收系统返回待处理消息获取结果;

4、在连续接收到预设数量的第一待处理消息获取结果的情况下,开启所述消息接收系统的事件驱动机制,并注册目标回调函数,同时调整所述目标消息处理线程进入休眠状态;所述第一待处理消息获取结果指示当前没有待处理消息,所述目标回调函数在所述消息接收系统发送第一消息处理请求的同时被所述消息接收系统调用,所述第一消息处理请求指示所述消息接收系统当前接收到的待处理消息;

5、响应于对所述目标回调函数的调用,关闭所述消息接收系统的事件驱动机制,并调整所述目标消息处理线程进入所述工作状态,基于所述目标消息处理线程处理所述第一消息处理请求所指示的待处理消息。

6、另一方面,提供了一种消息处理装置,所述装置包括:

7、消息请求模块,用于在目标消息处理线程处于工作状态的情况下,基于所述目标消息处理线程按照预设时间间隔向消息接收系统发送待处理消息获取请求,以使得所述消息接收系统返回待处理消息获取结果;

8、机制切换模块,用于在连续接收到预设数量的第一待处理消息获取结果的情况下,开启所述消息接收系统的事件驱动机制,并注册目标回调函数,同时调整所述目标消息处理线程进入休眠状态;所述第一待处理消息获取结果指示当前没有待处理消息,所述目标回调函数在所述消息接收系统发送第一消息处理请求的同时被所述消息接收系统调用,所述第一消息处理请求指示所述消息接收系统当前接收到的待处理消息;

9、第一消息处理模块,用于响应于对所述目标回调函数的调用,关闭所述消息接收系统的事件驱动机制,并调整所述目标消息处理线程进入所述工作状态,基于所述目标消息处理线程处理所述第一消息处理请求所指示的待处理消息。

10、在一个示例性的实施方式中,所述装置还包括用于对于不同的待处理消息获取结果做出不同处理的第一处理模块,所述第一处理模块,包括:

11、第一判断模块,用于基于所述目标消息处理线程判断所述待处理消息获取结果是否属于所述第一待处理消息获取结果;

12、数量确定模块,用于在所述待处理消息获取结果属于所述第一待处理消息获取结果的情况下,确定连续接收到的所述第一待处理消息获取结果的数量。

13、在一个示例性的实施方式中,所述装置还包括用于对于不同的待处理消息获取结果做出不同处理的第二处理模块,所述第二处理模块,包括:

14、第二判断模块,用于在所述待处理消息获取结果不属于所述第一待处理消息获取结果的情况下,基于所述目标消息处理线程判断所述待处理消息获取结果是否属于第二待处理消息获取结果;所述第二待处理消息获取结果指示当前待处理消息;

15、第二消息处理模块,用于在所述待处理消息获取结果属于所述第二待处理消息获取结果的情况下,基于所述目标消息处理线程处理所述第二待处理消息获取结果所指示的当前待处理消息。

16、在一个示例性的实施方式中,所述装置还包括用于进行轮询前的准备步骤的消息处理前模块,所述消息处理前模块,包括:

17、线程创建模块,用于响应于用户发送的第二消息处理请求,创建所述目标消息处理线程;

18、轮询开始模块,用于开启轮询机制,并控制所述目标消息处理线程进入所述工作状态。

19、在一个示例性的实施方式中,所述装置还包括用于切换消息处理机制的消息机制模块,所述消息机制模块,包括:

20、轮询关闭模块,用于在所述开启所述消息接收系统的事件驱动机制之前,关闭所述轮询机制;

21、轮询开启模块,用于在所述关闭所述消息接收系统的事件驱动机制之后,开启所述轮询机制。

22、在一个示例性的实施方式中,所述机制切换模块,包括:

23、存在判断模块,用于若不存在所述目标回调函数,则注册所述目标回调函数;

24、指针发送模块,用于向所述消息接收系统发送所述目标回调函数的函数指针,以使得所述消息接收系统在发送所述第一消息处理请求时基于所述目标回调函数的函数指针调用所述目标回调函数。

25、另一方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述任一方面的消息处理方法。

26、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上述任一方面的消息处理方法。

27、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述任一方面的消息处理方法。

28、本申请实施例通过在目标消息处理线程处于工作状态的情况下,基于目标消息处理线程按照预设时间间隔向消息接收系统发送待处理消息获取请求,根据消息接收系统返回的待处理消息获取结果,调整处理消息的机制,在多次没有收到待处理消息时,调整目标消息处理线程进入休眠状态,停止发送待处理消息获取请求,等待消息接收系统发送第一消息处理请求,在接收到第一消息处理请求时,响应于对目标回调函数的调用,调整目标消息处理线程进入工作状态,继续按照预设时间间隔发送待处理消息获取请求。实现消息处理的低时延,同时降低了本文档来自技高网...

【技术保护点】

1.一种消息处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的消息处理方法,其特征在于,所述向消息接收系统发送待处理消息获取请求之后,所述方法还包括:

3.根据权利要求2所述的消息处理方法,其特征在于,所述方法还包括:

4.根据权利要求1~3任一项所述的消息处理方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的消息处理方法,其特征在于,所述开启所述消息接收系统的事件驱动机制之前,所述方法还包括关闭所述轮询机制;

6.根据权利要求1所述的消息处理方法,其特征在于,所述注册目标回调函数,包括:

7.一种消息处理装置,其特征在于,所述装置包括:

8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条请求或者至少一段程序,所述至少一条请求或者所述至少一段程由所述处理器加载并执行以实现如权利要求1~6中任一项所述的消息处理方法。

9.一种计算机可读存储介质,所述存储介质中存储有至少一条请求或者至少一段程序,所述至少一条请求或者所述至少一段程序由处理器加载并执行以实现如权利要求1~6任一项所述的消息处理方法。

10.一种计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6中任一项所述的消息处理方法。

...

【技术特征摘要】

1.一种消息处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的消息处理方法,其特征在于,所述向消息接收系统发送待处理消息获取请求之后,所述方法还包括:

3.根据权利要求2所述的消息处理方法,其特征在于,所述方法还包括:

4.根据权利要求1~3任一项所述的消息处理方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的消息处理方法,其特征在于,所述开启所述消息接收系统的事件驱动机制之前,所述方法还包括关闭所述轮询机制;

6.根据权利要求1所述的消息处理方法,其特征在于,所述注册目标回调函数,包括:

<...

【专利技术属性】
技术研发人员:蔡黄兵秦民
申请(专利权)人:中汽创智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1