The present invention discloses a LUA virtual machine task execution method, system, device and computer readable storage medium, which includes: determining the current standby LUA virtual machine task; determining the current idle thread in a preset thread pool; scheduling the standby LUA virtual machine task to the idle thread to make the idle thread idle. The thread executes the standby LUA virtual machine task. Thus, this invention provides a LUA virtual machine task execution method, which determines the standby LUA virtual machine task and the idle thread. By scheduling, the standby LUA virtual machine task is allocated to the idle thread, the idle thread is used to perform the task, and each thread does not bind a task, so it is not bound to bind a task. A thread is created for the task when the task is executed, and there is no need to destroy the thread corresponding to the task at the end of the task, so it can greatly reduce the overhead of the system.
【技术实现步骤摘要】
一种LUA虚拟机任务执行方法及相关装置
本专利技术涉及计算机
,更具体地说,涉及一种LUA虚拟机任务执行方法、系统、装置及计算机可读存储介质。
技术介绍
Lua是一门设计优雅,轻量、易扩展的可嵌入式脚本语言,受到越来也多的开发者喜爱,现已被广泛应用于游戏开发,嵌入式开发,人工智能开发等领域。但其缺少并行开发库的支持,需要开发者在开发过程中关注并发、同步问题,因此会大大降低开发效率和质量。开发过程中采用actor模型可以有效的提高开发质量和效率。actor可以看作是一个独立的实体,每个actor之间毫无关联,但是它们可以通过消息来通讯。但目前用于lua的actor模型库都是基于操作系统的线程库开发的,即每个线程都开启一个lua虚拟机,每个lua虚拟机执行一个并行任务,然后用消息通讯的方式协作。但是,每个任务的创建和销毁都会引起线程的创建和销毁,也就是每执行一个任务就要创建一个线程,在任务完成时,销毁此线程。因此会有大量的线程被创建、销毁,系统开销十分大。因此,如何减少线程的创建和销毁,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种LUA虚拟机任务执行方法、系统、装置及计算机可读存储介质,以减少线程的创建和销毁。为实现上述目的,本专利技术实施例提供了如下技术方案:一种LUA虚拟机任务执行方法,包括:确定当前待命LUA虚拟机任务;在预设线程池中确定当前的空闲线程;将所述待命LUA虚拟机任务调度至所述空闲线程,以使所述空闲线程执行所述待命LUA虚拟机任务。其中,所述确定当前待命LUA虚拟机任务,包括:确定当前未被执行的LUA虚拟机任 ...
【技术保护点】
1.一种LUA虚拟机任务执行方法,其特征在于,包括:确定当前待命LUA虚拟机任务;在预设线程池中确定当前的空闲线程;将所述待命LUA虚拟机任务调度至所述空闲线程,以使所述空闲线程执行所述待命LUA虚拟机任务。
【技术特征摘要】
1.一种LUA虚拟机任务执行方法,其特征在于,包括:确定当前待命LUA虚拟机任务;在预设线程池中确定当前的空闲线程;将所述待命LUA虚拟机任务调度至所述空闲线程,以使所述空闲线程执行所述待命LUA虚拟机任务。2.根据权利要求1所述的方法,其特征在于,所述确定当前待命LUA虚拟机任务,包括:确定当前未被执行的LUA虚拟机任务作为待命LUA虚拟机任务。3.根据权利要求2所述的方法,其特征在于,所述确定当前未被执行的LUA虚拟机任务作为待命LUA虚拟机任务,包括:确定当前未被执行的完整LUA虚拟机任务;判断所述完整LUA虚拟机任务的预估执行时间是否大于预设阈值;若是,则将所述完整LUA虚拟机任务进行拆分得到所述待命LUA虚拟机任务;若否,则将所述完整LUA虚拟机任务确定为所述待命LUA虚拟机任务。4.根据权利要求1所述的方法,其特征在于,所述确定当前待命LUA虚拟机任务,包括:确定已运行时间大于所述预设时间的正在被执行的目标LUA虚拟机任务;将所述目标LUA虚拟机任务进行分解,得到待命LUA虚拟机任务。5.根据权利要求4所述的方法,其特征在于,确定运行时间大于预设时间的正在被执行的目标LUA虚拟机任务,包括:利用debughook接口监控当前正在被执行的...
【专利技术属性】
技术研发人员:王志强,朱建坤,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。