System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于事件处理,尤其涉及一种事件处理方法、装置及电子设备。
技术介绍
1、随着金融行业的快速发展,人们对于智能金融设备的需求越来越大,不仅需要设备具备高效率和稳定性,还需要设备可以同时处理多种任务,同时等待多个事件或互斥体,并进行快速响应。
2、但是,当前常用的等待多个事件的等待机制都是轮询,即在循环中检查事件或互斥体的状态,不能进行及时响应,并且会极大地占用系统资源,导致系统效率低下。
技术实现思路
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、第四方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的事件处理方法。
29、第五方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的事件处理方法。
30、本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
本文档来自技高网...【技术保护点】
1.一种事件处理方法,其特征在于,包括:
2.根据权利要求1所述的事件处理方法,其特征在于,在所述对所述各个等待事件的系统级互斥锁进行锁定之后,所述方法还包括:
3.根据权利要求1所述的事件处理方法,其特征在于,所述将所述目标等待器标识为无效,并释放所述各个等待事件的系统级互斥锁,包括:
4.根据权利要求3所述的事件处理方法,其特征在于,所述基于所述第一等待事件的自动重置属性,更新所述第一等待事件的当前事件状态,包括:
5.根据权利要求1所述的事件处理方法,其特征在于,所述各个等待事件的系统级互斥锁通过如下步骤进行锁定:
6.根据权利要求1-5任一项所述的事件处理方法,其特征在于,在所述对等待事件集合中各个等待事件的系统级互斥锁进行锁定,并获取所述各个等待事件的当前事件状态之后,所述方法还包括:
7.根据权利要求1-5任一项所述的事件处理方法,其特征在于,所述目标期望条件为所述等待事件集合中所有所述等待事件发生,或者所述等待事件集合中任一所述等待事件发生。
8.一种事件处理装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述事件处理方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7任一项所述的事件处理方法。
...【技术特征摘要】
1.一种事件处理方法,其特征在于,包括:
2.根据权利要求1所述的事件处理方法,其特征在于,在所述对所述各个等待事件的系统级互斥锁进行锁定之后,所述方法还包括:
3.根据权利要求1所述的事件处理方法,其特征在于,所述将所述目标等待器标识为无效,并释放所述各个等待事件的系统级互斥锁,包括:
4.根据权利要求3所述的事件处理方法,其特征在于,所述基于所述第一等待事件的自动重置属性,更新所述第一等待事件的当前事件状态,包括:
5.根据权利要求1所述的事件处理方法,其特征在于,所述各个等待事件的系统级互斥锁通过如下步骤进行锁定:
6.根据权利要求1-5任一项所述的事件处理方法,其特征在于,在所述对等待事件...
【专利技术属性】
技术研发人员:钟俊浩,吴伟强,陈占良,
申请(专利权)人:广电运通集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。