一种多线程控制方法、装置、设备和存储介质制造方法及图纸

技术编号:35005875 阅读:53 留言:0更新日期:2022-09-21 14:56
本发明专利技术公开了一种多线程控制方法、装置、设备和存储介质。该方法包括:在通过主线程解析第一源代码文件的过程中,所述主线程检测到所述子线程创建代码,并创建子线程;通过子线程解析与所述子线程创建代码关联的第二源代码文件;执行解析得到的解析指令。本发明专利技术实施例能够实现多线程自动创建和解析,从而实现多线程执行并行解析得到的解析指令,简化多线程控制方法的实现过程。控制方法的实现过程。控制方法的实现过程。

【技术实现步骤摘要】
一种多线程控制方法、装置、设备和存储介质


[0001]本专利技术涉及计算机控制
,尤其涉及一种多线程控制方法、装置、设备和存储介质。

技术介绍

[0002]机器人执行作业程序过程中,对于任务并行执行的特性,可以基于LUA(程序设计语言)方案扩展实现脚本多线程,也可以通过编写自定义解析器实现多线程,但这些方法依赖于特定的技术,存在一定的技术门槛且可能涉及整个解析器的重构。

技术实现思路

[0003]本专利技术提供了一种多线程控制方法、装置、设备和存储介质,以实现多线程执行并行解析得到的解析指令,简化多线程控制方法的实现过程。
[0004]根据本专利技术的一方面,提供了一种多线程控制方法,该方法包括:
[0005]在通过主线程解析第一源代码文件的过程中,所述主线程检测到所述子线程创建代码,并创建子线程;
[0006]通过子线程解析与所述子线程创建代码关联的第二源代码文件;
[0007]执行解析得到的解析指令。
[0008]根据本专利技术的另一方面,提供了一种一种多线程控制装置,其特征在于,包括:
[0009]线程创建模块,用于在通过主线程解析第一源代码文件的过程中,所述主线程检测到所述子线程创建代码,并创建子线程;
[0010]子线程解析模块,用于通过子线程解析与所述子线程创建代码关联的第二源代码文件;
[0011]指令执行模块,用于执行解析得到的解析指令。
[0012]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0013]至少一个处理器;以及
[0014]与所述至少一个处理器通信连接的存储器;其中,
[0015]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的多线程控制方法。
[0016]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的多线程控制方法。
[0017]根据本专利技术的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本专利技术任一实施例所述的多线程控制方法。
[0018]本专利技术实施例的技术方案,通过在主线程解析第一源代码文件的过程中,若检测
到子线程创建代码,则创建子线程,实现在主线程解析过程中自动创建子线程,通过子线程解析与子线程创建代码关联的第二源代码文件,执行解析得到的解析指令,使子线程能够单独解析与子线程创建代码关联的第二源代码文件,从而实现子线程与主线程的并行解析,提高解析的效率,从而提高多线程控制的效率。
[0019]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1a是根据本专利技术实施例一提供的一种多线程控制方法的流程图;
[0022]图1b是根据本专利技术实施例一提供的一种基于多线程控制方法的机器人控制系统的结构示意图;
[0023]图2是根据本专利技术实施例二提供的一种多线程控制方法的流程图;
[0024]图3是根据本专利技术实施例三提供的一种多线程控制方法的流程图;
[0025]图4a是根据本专利技术实施例四提供的一种多线程控制方法中主线程的执行控制流程图;
[0026]图4b是根据本专利技术实施例四提供的一种多线程控制方法中子线程的执行控制流程图;
[0027]图5是根据本专利技术实施例五提供的一种多线程控制装置的结构示意图;
[0028]图6是实现本专利技术实施例的多线程控制方法的电子设备的结构示意图。
具体实施方式
[0029]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0030]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031]实施例一
[0032]图1a为本专利技术实施例一提供了一种多线程控制方法的流程图,本实施例可适用于
基于多线程控制方法实现机器人控制的情况。为了便于理解,首先对本专利技术实施例所涉及的一种基于多线程控制方法的机器人控制系统进行详细说明。图1b为本专利技术实施例一提供的一种基于多线程控制方法的机器人控制系统的结构示意图。如图1b所示,该机器人控制系统包括控制示教器模块、任务调度模块、脚本解析模块和控制模块。
[0033]其中,控制示教器模块用于生成源代码文件,或生成即时控制指令,并将源代码文件或即时控制指令发送至任务调度模块。源代码文件的数量至少为一个。示例性的,源代码文件可以包括第一源代码文件、第二源代码文件和第三源代码文件等。即时控制指令可以实现机器人控制系统的启动、停止、暂停、恢复和调试等控制,还可以实现对机器人JOG控制(慢跑控制)、IO控制(输入输出控制)或参数配置查询等功能。即时控制指令可以通过触屏、虚拟按键或编写源代码等方式生成。
[0034]任务调度模块用于接收源代码文件或即时控制指令,将源代码文件发送至脚本解析模块,以接收脚本解析模块中脚本解析器根据源代码文件生成的解析指令,并实现对解析指令和即时控制指令进行调度。对解析指令和即时控制指令进行调度,也可以理解为,任务调度模块将解析指令和即时控制指令发送至控制模块或任务调度模块。任务调度模块还可以用于执行发送至任务调度模块的指令。示例性的,发送至任务调度模块的指令可以是线程创建代码对应的指令,任务调度模块可以根据线程创建代码对应的指令创建子线程,并确定子线程在脚本解析模块中对应的脚本解析器。
[0035]脚本解析模块中包含至少一个脚本解析器,脚本解析器的数量可以根据需要解析的源代码文件的数量确定。脚本解析器用于接收源代码文件,对源本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多线程控制方法,其特征在于,包括:在通过主线程解析第一源代码文件的过程中,所述主线程检测到所述子线程创建代码,并创建子线程;通过子线程解析与所述子线程创建代码关联的第二源代码文件;执行解析得到的解析指令。2.根据权利要求1所述的方法,其特征在于,还包括:在目标线程检测到目标代码的情况下,通过所述目标线程跳过解析所述目标代码,所述目标代码包括下述至少一项:所述子线程创建代码和串行执行的指令对应的代码;其中,所述子线程的数量为至少一个,所述目标线程包括:在所述主线程和各所述子线程中确定的一个线程之外的全部线程。3.根据权利要求2所述的方法,其特征在于,其中,所述目标线程包括:全部所述子线程。4.根据权利要求1所述的方法,其特征在于,所述执行解析得到的解析指令,包括:在解析得到的解析指令中,获取指令调度权限对应的目标指令,发送至控制模块;暂停非调度指令对应的线程的解析操作,所述解析得到的解析指令包括目标指令和所述非调度指令;通过所述控制模块执行所述目标指令;释放指令调度权限,并建立新的指令调度权限与指令之间的对应关系,返回执行在解析得到的解析指令中,获取指令调度权限对应的目标指令的操作。5.根据权利要求1所述的方法,其特征在于,还包括:获取即时控制指令;所述建立新的指令调度权限与指令之间的对应关系,包括:建立指令调度权限与所述即时控制指...

【专利技术属性】
技术研发人员:戚祯祥许雄刘博峰邵威李明洋
申请(专利权)人:上海节卡机器人科技有限公司
类型:发明
国别省市:

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

1