无损的线程间传递消息的处理方法、系统、设备及在终端技术方案

技术编号:27771863 阅读:26 留言:0更新日期:2021-03-23 12:50
本发明专利技术属于程序间通信技术领域,公开了一种无损的线程间传递消息的处理方法、系统、设备及在终端,针对消息子类细化,每添加一种子类就新申请一块内存用于该消息的处理,配合已经存在的条件处理机制,形成一种新的数据结构;由完全独立和对应的处理接口对子类进行处理,通过分而治之的方法,将消息细化。本发明专利技术能够实现消息单项更新处理和覆盖、消息整体检索的功能,提高了消息处理的效率,解决了消息队列中消息覆盖和线程阻塞导致大量消息丢失的问题。本发明专利技术占用内存空间量跟随子类消息类型数量增加而增加,在中小范围消息处理量中完全可行,通过小范围空间代替时间的处理方法,实现了单项子类消息的完全处理。

【技术实现步骤摘要】
无损的线程间传递消息的处理方法、系统、设备及在终端
专利技术型属于程序间通信
,尤其涉及一种无损的线程间传递消息的处理方法、系统、设备及在终端。
技术介绍
Linux线程间通信,目前存在6中大方向的通讯机制,分别是管道、信号量、信号、消息队列、共享内存、和套接字。针对线程间通讯的消息队列处理机制,在有一些高覆盖、高频发的任务间使用时,会存在消息丢失,消息覆盖的问题,当发起任务的频率高于处理任务的频率时,就会存在不同类型消息被覆盖的问题。通过上述分析,现有技术存在的问题及缺陷为:在使用的linux线程间通讯设计接口时,发现两个任务间通讯使用C++消息队列(std::queue)时,如果同一大类的消息中断产生的速度快于该消息接口的处理速度,就会存在不同小类消息总是被最新消息覆盖的问题,这导致消息处理不及时,一些短时间内只产生一次的低频消息处理就会丢失,从而影响整个系统的正常运行。解决以上问题及缺陷的难度为:在比较细致的问题解决方面该问题解决的难度相对适中。解决以上问题及缺陷的意义为:能够提高嵌入式系统运本文档来自技高网...

【技术保护点】
1.一种无损的linux线程间传递消息的处理方法,其特征在于,所述无损的linux线程间传递消息的处理方法包括:/n对添加的不同子类信息进行储存,配合条件处理机制,形成新的数据结构;/n由独立和对应的处理接口对所述新的数据结构进行处理,通过分而治之的方法,将不同子类信息细化。/n

【技术特征摘要】
1.一种无损的linux线程间传递消息的处理方法,其特征在于,所述无损的linux线程间传递消息的处理方法包括:
对添加的不同子类信息进行储存,配合条件处理机制,形成新的数据结构;
由独立和对应的处理接口对所述新的数据结构进行处理,通过分而治之的方法,将不同子类信息细化。


2.如权利要求1所述的无损的linux线程间传递消息的处理方法,其特征在于,所述配合条件处理机制,形成新的数据结构中,配合各子类消息的条件处理机制,实现各子类消息单独驱动,相同类型大类消息被子类消息整体驱动和检索,完成消息多次检索。


3.如权利要求1所述的无损的linux线程间传递消息的处理方法,其特征在于,所述分而治之的方法中,同类消息的子项分而治之,大类消息整体接收和任务唤醒、各子项消息单独处理。


4.一种无损的linux线程间传递消息的处理系统,其特...

【专利技术属性】
技术研发人员:张沐然
申请(专利权)人:一飞海南科技有限公司
类型:发明
国别省市:海南;46

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

1