基于C++的事件处理方法、装置、服务器及存储介质制造方法及图纸

技术编号:30647838 阅读:30 留言:0更新日期:2021-11-04 00:59
本申请提供一种基于C++的事件处理方法、装置、服务器及存储介质,首先通过设置函数接收事件处理任务;根据事件处理任务生成携带执行时间参数和执行对象参数的定时器调用请求;根据执行时间和执行对象生成目标定时器;为目标定时器生成对应的目标定时器标识,并将目标定时器标识放入预设定时器标识列表中;最后在执行时间,根据预设定时器标识列表中的目标定时器标识,调用目标定时器,以使目标定时器调用执行对象执行事件处理任务。本申请为目标定时器生成对应的目标定时器标识,调用定时器时只需在预设定时器标识列表中找到目标定时器标识,就能调用对应的定时器,简化了调用定时器的步骤,提高了系统可操作性。提高了系统可操作性。提高了系统可操作性。

【技术实现步骤摘要】
基于C++的事件处理方法、装置、服务器及存储介质


[0001]本申请涉及计算机领域,尤其涉及一种基于C++的事件处理方法、装置、服务器及存储介质。

技术介绍

[0002]定时器在计算机领域是一种常用且不可或缺的技术,他是一系列函数的集合体,它可以使软件在固定的时间内自动执行某种操作或任务,目前,很多系统或者平台都通过使用定时器来完成周期性任务或特定时刻任务的执行,比如:实现自动控制、定时状态切换、延时处理等功能。
[0003]在传统的C++中,我们要调用定时器首先需要对不同系统的API做不同的适配,比如Windows中我们使用的是CreateThreadAPI,而在Linux下我们则需要使用pthread,即传统方案中调用定时器的过程太过繁琐,需要操作人员掌握一定的相关知识,才能成功调用定时器,对于一些新手来说操作起来很不方便。

技术实现思路

[0004]本申请实施例提供一种基于C++的事件处理方法、装置、服务器及存储介质,以解决传统C++中调用定时器太过繁琐的问题。
[0005]第一方面中,本申请实施例提供一种基于C++的事件处理方法,包括:
[0006]在C++环境中,通过设置函数接收事件处理任务,根据所述事件处理任务生成定时器调用请求,所述定时器调用请求携带执行时间参数和执行对象参数;
[0007]根据所述执行时间参数确定执行时间,根据所述执行对象参数确定执行对象,根据所述执行时间和所述执行对象生成目标定时器;
[0008]为所述目标定时器生成对应的目标定时器标识,并将所述目标定时器标识放入预设定时器标识列表中;
[0009]在所述执行时间,根据所述预设定时器标识列表中的所述目标定时器标识,调用所述目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务。
[0010]可选地,在本申请一些可能的实现方式中,所述通过设置函数接收事件处理任务,根据所述事件处理任务生成定时器调用请求的步骤,包括:
[0011]通过设置函数接收事件处理任务;
[0012]根据所述事件处理任务,确定定时器的类型;
[0013]根据所述定时器的类型,生成定时器调用请求。
[0014]可选地,在本申请一些可能的实现方式中,所述在所述执行时间,根据所述预设定时器标识列表中的所述目标定时器标识,调用所述目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务的步骤,包括:
[0015]创建线程,并将所述目标定时器标识传入所述线程;
[0016]在所述执行时间,根据所述线程中目标定时器标识与所述预设定时器标识列表的
第一匹配结果,判断所述预设定时器标识列表中是否存在所述目标定时器标识;
[0017]若存在,则调用所述目标定时器标识对应的目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务。
[0018]可选地,在本申请一些可能的实现方式中,在所述调用所述目标定时器标识对应的目标定时器的步骤之后的步骤之后,还包括:
[0019]判断所述事件处理任务是否已执行完成;
[0020]若是,则从所述预设定时器标识列表中清除所述目标定时器标识。
[0021]可选地,在本申请一些可能的实现方式中,所述从所述预设定时器标识列表中清除所述目标定时器标识的步骤,包括:
[0022]根据所述线程中目标定时器标识与所述预设定时器标识列表的第二匹配结果,判断所述预设定时器标识列表中是否存在所述目标定时器标识;
[0023]若存在,则从所述预设定时器标识列表清除所述目标定时器标识。
[0024]可选地,在本申请一些可能的实现方式中,所述为所述目标定时器生成对应的目标定时器标识,并将所述目标定时器标识放入预设定时器标识列表中的步骤,包括:
[0025]对预设定时器标识列表上锁;
[0026]为所述目标定时器生成对应的目标定时器标识;
[0027]将所述目标定时器标识放入预设定时器标识列表中;
[0028]对所述预设定时器标识列表解锁。
[0029]可选地,在本申请一些可能的实现方式中,所述从所述预设定时器标识列表中清除所述目标定时器标识的步骤,包括:
[0030]对所述预设定时器标识列表上锁;
[0031]从所述预设定时器标识列表中清除所述目标定时器标识;
[0032]对所述预设定时器标识列表解锁。
[0033]本申请实施例提供一种基于C++的事件处理装置,包括:
[0034]接收模块,用于在C++环境中,通过设置函数接收事件处理任务,根据所述事件处理任务生成定时器调用请求,所述定时器调用请求携带执行时间参数和执行对象参数;
[0035]第一生成模块,用于根据所述执行时间参数确定执行时间,根据所述执行对象参数确定执行对象,根据所述执行时间和所述执行对象生成目标定时器;
[0036]第二生成模块,用于为所述目标定时器生成对应的目标定时器标识,并将所述目标定时器标识放入预设定时器标识列表中;
[0037]调用模块,用于在所述执行时间,根据所述预设定时器标识列表中的所述目标定时器标识,调用所述目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务。
[0038]在一种实施例中,基于C++的事件处理装置,还包括:
[0039]判断模块,用于判断所述事件处理任务是否已执行完成;
[0040]清除模块,用于从所述预设定时器标识列表中清除所述目标定时器标识。
[0041]在一种实施例中,接收模块包括:
[0042]接收子模块,用于通过设置函数接收事件处理任务;
[0043]第一确定子模块,用于根据所述事件处理任务,确定定时器的类型;
[0044]第一生成子模块,用于根据所述定时器的类型,生成定时器调用请求。
[0045]在一种实施例中,第二生成模块包括:
[0046]第一锁定子模块,用于对预设定时器标识列表上锁;
[0047]第二生成子模块,用于为所述目标定时器生成对应的目标定时器标识;并将所述目标定时器标识放入预设定时器标识列表中;
[0048]第一解锁子模块,用于对所述预设定时器标识列表解锁。
[0049]在一种实施例中,调用模块包括:
[0050]创建子模块,用于创建线程,并将所述目标定时器标识传入所述线程;
[0051]判断子模块,用于在所述执行时间,根据所述线程中目标定时器标识与所述预设定时器标识列表的第一匹配结果,判断所述预设定时器标识列表中是否存在所述目标定时器标识;
[0052]调用子模块,用于若存在,则调用所述目标定时器标识对应的目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务。
[0053]在一种实施例中,清除模块包括:
[0054]第二锁定子模块,用于对所述预设定时器标识列表上锁;
[0055]清除子模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于C++的事件处理方法,其特征在于,所述方法包括:在C++环境中,通过设置函数接收事件处理任务,根据所述事件处理任务生成定时器调用请求,所述定时器调用请求携带执行时间参数和执行对象参数;根据所述执行时间参数确定执行时间,根据所述执行对象参数确定执行对象,根据所述执行时间和所述执行对象生成目标定时器;为所述目标定时器生成对应的目标定时器标识,并将所述目标定时器标识放入预设定时器标识列表中;在所述执行时间,根据所述预设定时器标识列表中的所述目标定时器标识,调用所述目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务。2.如权利要求1所述的基于C++的事件处理方法,其特征在于,所述通过设置函数接收事件处理任务,根据所述事件处理任务生成定时器调用请求的步骤,包括:通过设置函数接收事件处理任务;根据所述事件处理任务,确定定时器的类型;根据所述定时器的类型,生成定时器调用请求。3.如权利要求1所述的基于C++的事件处理方法,其特征在于,所述在所述执行时间,根据所述预设定时器标识列表中的所述目标定时器标识,调用所述目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务的步骤,包括:创建线程,并将所述目标定时器标识传入所述线程;在所述执行时间,根据所述线程中目标定时器标识与所述预设定时器标识列表的第一匹配结果,判断所述预设定时器标识列表中是否存在所述目标定时器标识;若存在,则调用所述目标定时器标识对应的目标定时器,以使所述目标定时器调用所述执行对象执行所述事件处理任务。4.如权利要求3所述的基于C++的事件处理方法,其特征在于,在所述调用所述目标定时器标识对应的目标定时器的步骤之后,还包括:判断所述事件处理任务是否已执行完成;若是,则从所述预设定时器标识列表中清除所述目标定时器标识。5.如权利要求4所述的基于C++的事件处理方法,其特征在于,所述从所述预设定时器标识列表中清除所述目标定时器标识的步骤,包括:根据所述线程中目标定时器标识与所述预设...

【专利技术属性】
技术研发人员:范瑞覃美静王洵
申请(专利权)人:武汉中科通达高新技术股份有限公司
类型:发明
国别省市:

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

1