一种跨平台的异步消息处理方法、装置、设备、存储介质制造方法及图纸

技术编号:33618321 阅读:25 留言:0更新日期:2022-06-02 00:37
本发明专利技术属于异步任务处理技术领域,具体提供一种跨平台的异步消息处理方法、装置、设备、存储介质,所述方法包括如下步骤:消息发送时,将消息和其超时处理函数注册到时间轮定时器中,同时将消息加入到红黑树中,设置引用计数增加;接收响应消息,判断该消息的超时处理函数是否被调用;若否,查询红黑树判别该消息是否存在;若存在,获取红黑树中的具体对象作响应处理;若不存在,丢弃该响应消息,引用计数减少;若是,判断该响应超时,将该消息从红黑树中删除,同时将该消息从定时任务去去除;引用计数减少,当引用计数值为零时,销毁对象。通过引入引用计数来管理对象,保证对象可以正确的被释放。释放。释放。

【技术实现步骤摘要】
一种跨平台的异步消息处理方法、装置、设备、存储介质


[0001]本专利技术涉及异步任务处理
,具体涉及一种跨平台的异步消息处理方法、装置、设备、存储介质。

技术介绍

[0002]目前常用的异步任务实现方案中,有如下几种:
[0003]一种是给每个任务都建立一个线程来处理,这样其他的任务可以在主线程中继续运行,在消息处理线程中,等待消息的响应。这种方案的优点是实现简单,缺点是每个任务都需要单独启用一个线程,在任务特别多的时候对系统资源消耗较大。
[0004]另外一种实现方案是将每一个事件生成一个设备描述符,然后通过系统的IO多路复用技术,将设备描述符加入到系统监听中,实现响应消息的通知。这种方案的优点是单线程可以管理多路事件,缺点是实现复杂,不同的系统实现需要进行适配。

技术实现思路

[0005]为了解决异步任务实现中系统资源消耗高、实现复杂,跨平台间开发难度大,本专利技术提供了接口简单、实现高效的跨平台异步任务实现方案,具体本专利技术提供一种跨平台的异步消息处理方法、装置、设备、存储介质
[000本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨平台的异步消息处理方法,其特征在于,包括如下步骤:消息发送时,将消息和其超时处理函数注册到时间轮定时器中,同时将消息加入到红黑树中,设置引用计数增加;接收响应消息,判断该消息的超时处理函数是否被调用;若否,查询红黑树判别该消息是否存在;若存在,获取红黑树中的具体对象作响应处理;若不存在,丢弃该响应消息,引用计数减少;若是,判断该响应超时,将该消息从红黑树中删除,同时将该消息从定时任务去去除;引用计数减少,当引用计数值为零时,销毁对象。2.根据权利要求1所述的跨平台的异步消息处理方法,其特征在于,消息发送时,将消息和其超时处理函数注册到时间轮定时器中,同时将消息加入到红黑树中,设置引用计数增加的步骤包括:当需要发送消息时,构建一个消息对象;消息对象包括全局唯一的和进程有关的消息id,引用计数以及消息本身包含的信息,其中,引用计数用来管理对象的生命周期;消息对象生成后,将消息id作为key值、对象本身作为value加入到红黑树中,同时引用计数加一;将该消息注册到时间轮定时器中,同时注册定时任务超时处理函数,引用计数加一。3.根据权利要求2所述的跨平台的异步消息处理方法,其特征在于,查询红黑树判别该消息是否存在的步骤包括:接收并解析响应消息;获取该响应消息对应的消息id;将此消息id作为key值在红黑树中进行查找,判断该消息id在红黑树中是否存在。4.根据权利要求3所述的跨平台的异步消息处理方法,其特征在于,获取红黑树中的具体对象作响应处理的步骤包括:获取红黑树中作为value的具体对象,进行消息响应处理;消息处理完毕后则将其从时间轮定时器里删除,当引用计数不为零时,引用计数减一,同时从红黑树里删除,当引用计数不为零时,引用计数减一;当引用计数为零时,销毁该对象。5.根据权利要求4所述的跨平台的异步消息处理方法,其特征在于,判断该响应超时,将该消息从红黑树中删除,同时将该消息从定时任务去去除;引用计数减少,当引用计数值为零时,销毁对象的步骤包括:判断该响应超时,将该消息从红黑树中删除,当引用计数不为零时,引用计数减一,将该消息从定时任务去去除,当引用计数不为零时,引用计数减一,当引用计数为零时,销毁该对象。6.一种...

【专利技术属性】
技术研发人员:郎占坡穆向东
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1