The invention discloses an event-driven method, which comprises the following steps: using the select function to listen for the FD handle of an asynchronous socket, and judging whether the target event on the asynchronous socket is readable according to the FD handle; if the target event is readable, reading the target event and acquiring the event type to which the target event belongs; Event types correspond to event handling methods to handle target events. Compared with the existing waiting mechanism, the method provided by the embodiments of the present invention can wait for the target event, that is, waiting for the arrival of the message, without constantly checking the input device. If there is no message waiting, the control will be returned to the operating system to run other programs, which can reduce the occupancy of computer resources, improve the computing speed and event processing capacity of the computer, and thus improve computer performance. The invention also discloses an event driving device, a device and a readable storage medium, which have corresponding technical effects.
【技术实现步骤摘要】
一种事件驱动方法、装置、设备及可读存储介质
本专利技术涉及计算机应用
,特别是涉及一种事件驱动方法、装置、设备及可读存储介质。
技术介绍
在当今快节奏的生活中,人们迫切需求具有更强计算速度和事件处理能力的高性能计算机。在计算机软件中,往往采用等待机制。即,为了等待某件事情的发生,需要不断地检测某些判断变量,直到达到预设条件之后,才进行相应的处理。而在不断的检测某些变量的过程中,无形中浪费了很多计算机资源,进而限制了计算机提升计算速度、事件处理能力。综上所述,如何有效地解决提升计算机性能等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种事件驱动方法、装置、设备及可读存储介质,以实减少占用计算机资源,提升计算机性能。为解决上述技术问题,本专利技术提供如下技术方案:一种事件驱动方法,包括:利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;选用与所述事件类型对应的事件处理方式处理所述目标事件。优选地,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为消息事件时,利用所述目标事件对应的预设处理函数对所述目标事件进行处理。优选地,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为时间事件时,创建定时线程;当达到预设等待时长之后,通过所述定时线程发送预设自定义协议的目标数据到目标异步套接字上,以便所述目标异步套接字激发预设回调函数来处理所述目标事 ...
【技术保护点】
1.一种事件驱动方法,其特征在于,包括:利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;选用与所述事件类型对应的事件处理方式处理所述目标事件。
【技术特征摘要】
1.一种事件驱动方法,其特征在于,包括:利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;选用与所述事件类型对应的事件处理方式处理所述目标事件。2.根据权利要求1所述的事件驱动方法,其特征在于,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为消息事件时,利用所述目标事件对应的预设处理函数对所述目标事件进行处理。3.根据权利要求1所述的事件驱动方法,其特征在于,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为时间事件时,创建定时线程;当达到预设等待时长之后,通过所述定时线程发送预设自定义协议的目标数据到目标异步套接字上,以便所述目标异步套接字激发预设回调函数来处理所述目标事件。4.根据权利要求1所述的事件驱动方法,其特征在于,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为文件描述符事件时,通过对应的文件描述符将目标用户指定的套接字调整为异步模式;通过所述select函数监控所述套接字,当在所述套接字上发生注册事件时,回调所述目标用户注册的回调函数。5.一种事件驱动装置,其特征在于,包括:监听模块,用于利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;目标事件...
【专利技术属性】
技术研发人员:楚光庆,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。