线程的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38916306 阅读:8 留言:0更新日期:2023-09-25 09:30
本申请公开了一种线程的处理方法、装置、电子设备及存储介质。其中,该方法包括:获取共用事件集下发的事件状态信息;将事件状态信息同步至订阅事件集,其中,事件状态信息中包括多个事件的事件状态;在订阅事件集中的事件状态信息满足目标线程的运行条件的情况下,运行目标线程,其中,目标线程与订阅事件集具有映射关系。本申请解决了实时系统中由于共用事件集导致某个线程等待事件满足后清除事件,对其他等待事件与该线程等待事件重合的线程产生影响的技术问题。影响的技术问题。影响的技术问题。

【技术实现步骤摘要】
线程的处理方法、装置、电子设备及存储介质


[0001]本申请涉及嵌入式实时操作系统领域,具体而言,涉及一种线程的处理方法、装置、电子设备及存储介质。

技术介绍

[0002]一般事件使用(32/64)位整形数据存储(32/64)种事件状态,当某种事件被发送线程触发时,该事件所对应的比特位将会被置位,接收线程可以等待多个事件或等待多个事件中任意一个事件,当事件触发者检测到被置位的事件满足某个接收线程的条件则将其唤醒,接收线程被唤醒后继续运行。若等待线程设置了清除标记,则等待事件满足后将会清除等待的事件对应的比特位。
[0003]由于其使用同一个共享事件数据对象记录了多个事件的状态,其中任一等待该事件的线程满足后对事件的操作都会对其他线程产生影响,而多个线程往往会根据不同的目的对事件做出不同的操作,此时现有事件机制将难以满足需求。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本申请实施例提供了一种线程的处理方法、装置、电子设备及存储介质,以至少解决实时系统中由于共用事件集导致某个线程等待事件满足后清除事件,对其他等待事件与该线程等待事件重合的线程产生影响的技术问题。
[0006]根据本申请实施例的一个方面,提供了一种线程的处理方法,包括:获取共用事件集下发的事件状态信息;将事件状态信息同步至订阅事件集,其中,事件状态信息中包括多个事件的事件状态;在订阅事件集中的事件状态信息满足目标线程的运行条件的情况下,运行目标线程,其中,目标线程与订阅事件集具有映射关系。
[0007]可选地,将事件状态信息同步至订阅事件集,包括:识别共用事件集中的事件状态信息是否发生变更;在共用事件集中的事件状态信息发生变更的情况下,获取共用事件集中的更新后的事件状态信息,并将更新后的事件状态信息同步至订阅事件集。
[0008]可选地,将事件状态信息同步至订阅事件集,包括:判断共用事件集中的事件状态信息在预设时间间隔内是否发生变更;在共用事件集中的事件状态信息在预设时间间隔内没有发生变更的情况下,获取共用事件集中的事件状态信息;将共用事件集中的事件状态信息同步至订阅事件集。
[0009]可选地,在以下情况下确定订阅事件集中的事件状态信息满足目标线程的运行条件:获取目标线程的运行条件指示的目标事件和运行逻辑;在订阅事件集中的事件状态信息中确定目标事件的事件状态;在运行逻辑为第一逻辑,且目标事件的事件状态均为已触发的情况下,确定订阅事件集中的事件状态信息满足目标线程的运行条件,其中,第一逻辑为逻辑与;在运行逻辑为第二逻辑,且目标事件中的任意一个事件状态为已触发的情况下,确定订阅事件集中的事件状态信息满足目标线程的运行条件,第二逻辑为逻辑或。
[0010]可选地,运行目标线程,包括:确定与订阅事件集具有映射关系的目标线程的数量;在数量大于1的情况下,获取多个目标线程,并确定每个目标线程在线程队列中的执行顺序,其中,线程队列用于存储与订阅事件集相关联的线程;按照执行顺序依次运行多个目标线程。
[0011]可选地,运行目标线程之后,方法还包括:获取目标线程的运行条件指示的目标事件,其中,目标事件的事件状态为目标线程的运行条件;初始化订阅事件集中目标事件的目标事件状态信息,其中,目标事件状态信息为与目标事件对应的事件状态。
[0012]可选地,在运行目标线程之后,方法还包括:删除目标线程与订阅事件集之间的映射关系。
[0013]可选地,方法还包括:识别共用事件集中的事件状态信息是否均为被触发状态;在共用事件集中的事件状态信息均为被触发状态的情况下,初始化共用事件集中的事件状态信息。
[0014]根据本申请实施例的另一方面,还提供了一种线程的处理装置,包括:获取模块,用于获取共用事件集下发的事件状态信息;同步模块,用于将事件状态信息同步至订阅事件集,其中,事件状态信息中包括多个事件的事件状态;运行模块,用于在订阅事件集中的事件状态信息满足目标线程的运行条件的情况下,运行目标线程,其中,目标线程与订阅事件集具有映射关系。
[0015]根据本申请实施例的又一方面,还提供了一种电子设备,包括:存储器,用于存储程序指令;处理器,与存储器连接,用于执行实现以下功能的程序指令:获取共用事件集下发的事件状态信息;将事件状态信息同步至订阅事件集,其中,事件状态信息中包括多个事件的事件状态;在订阅事件集中的事件状态信息满足目标线程的运行条件的情况下,运行目标线程,其中,目标线程与订阅事件集具有映射关系。
[0016]根据本申请实施例的再一方面,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的计算机程序,其中,该非易失性存储介质所在设备通过运行计算机程序执行上述线程的处理方法。
[0017]在本申请实施例中,通过获取共用事件集下发的事件状态信息;将事件状态信息同步至订阅事件集,其中,事件状态信息中包括多个事件的事件状态;在订阅事件集中的事件状态信息满足目标线程的运行条件的情况下,运行目标线程,其中,目标线程与订阅事件集具有映射关系,达到了通过订阅事件集与线程关联,在线程的事件得到满足后仅需清除对应的订阅事件集中的事件标记的目的,从而实现了不影响其他线程的技术效果,进而解决了实时系统中由于共用事件集导致某个线程等待事件满足后清除事件,对其他等待事件与该线程等待事件重合的线程产生影响的技术问题。
附图说明
[0018]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0019]图1a是根据本申请实施例的一种线程与事件的关系示意图;
[0020]图1b是相关技术中的一种“与”类型事件触发机制的示意图;
[0021]图1c是相关技术中的一种“或”类型事件触发机制的示意图;
[0022]图2是根据本申请实施例的一种用于实现线程的处理方法的计算机终端的硬件结构框图;
[0023]图3是根据本申请实施例的一种线程的处理方法的流程图;
[0024]图4a是根据本申请实施例的一种逻辑与类型事件触发机制的示意图;
[0025]图4b是根据本申请实施例的一种逻辑或类型事件触发机制的示意图;
[0026]图5是根据本申请实施例的一种线程的处理装置的结构图。
具体实施方式
[0027]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0028]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线程的处理方法,其特征在于,包括:获取共用事件集下发的事件状态信息;将所述事件状态信息同步至订阅事件集,其中,所述事件状态信息中包括多个事件的事件状态;在所述订阅事件集中的事件状态信息满足目标线程的运行条件的情况下,运行所述目标线程,其中,所述目标线程与所述订阅事件集具有映射关系。2.根据权利要求1所述的方法,其特征在于,将所述事件状态信息同步至订阅事件集,包括:识别所述共用事件集中的事件状态信息是否发生变更;在所述共用事件集中的事件状态信息发生变更的情况下,获取所述共用事件集中的更新后的事件状态信息,并将所述更新后的事件状态信息同步至所述订阅事件集。3.根据权利要求1所述的方法,其特征在于,将所述事件状态信息同步至订阅事件集,包括:判断所述共用事件集中的事件状态信息在预设时间间隔内是否发生变更;在所述共用事件集中的事件状态信息在预设时间间隔内没有发生变更的情况下,获取所述共用事件集中的事件状态信息;将所述共用事件集中的事件状态信息同步至所述订阅事件集。4.根据权利要求1所述的方法,其特征在于,在以下情况下确定所述订阅事件集中的事件状态信息满足目标线程的运行条件:获取所述目标线程的运行条件指示的目标事件和运行逻辑;在所述订阅事件集中的事件状态信息中确定所述目标事件的事件状态;在所述运行逻辑为第一逻辑,且所述目标事件的事件状态均为已触发的情况下,确定所述订阅事件集中的事件状态信息满足所述目标线程的运行条件,其中,所述第一逻辑为逻辑与;在所述运行逻辑为第二逻辑,且所述目标事件中的任意一个事件状态为已触发的情况下,确定所述订阅事件集中的事件状态信息满足所述目标线程的运行条件,所述第二逻辑为逻辑或。5.根据权利要求1所述的方法,其特征在于,运行所述目标线程,包括:确定与所述订阅事件集具有映射关系的目标线程的数量;在所述数量大于1的情况下,获取多个目标线程,并确定每个目标线程在线程队列中的执行顺序,其中,...

【专利技术属性】
技术研发人员:董乾钦姚杰王森刘志勇王浩张菊胡一智
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

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

1