CN110362389A - 多线程退出方法及移动终端 - Google Patents

多线程退出方法及移动终端 Download PDF

Info

Publication number
CN110362389A
CN110362389A CN201910453615.2A CN201910453615A CN110362389A CN 110362389 A CN110362389 A CN 110362389A CN 201910453615 A CN201910453615 A CN 201910453615A CN 110362389 A CN110362389 A CN 110362389A
Authority
CN
China
Prior art keywords
thread
mark
exits
exit
duration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910453615.2A
Other languages
English (en)
Inventor
李昭早
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Autel Intelligent Aviation Technology Co Ltd
Original Assignee
Shenzhen Autel Intelligent Aviation Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Autel Intelligent Aviation Technology Co Ltd filed Critical Shenzhen Autel Intelligent Aviation Technology Co Ltd
Priority to CN201910453615.2A priority Critical patent/CN110362389A/zh
Publication of CN110362389A publication Critical patent/CN110362389A/zh
Priority to EP20814356.0A priority patent/EP3968156A4/en
Priority to PCT/CN2020/092645 priority patent/WO2020238967A1/zh
Priority to US17/536,421 priority patent/US11853153B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例涉及一种多线程退出方法及移动终端,所述方法用于所述移动终端,所述方法包括:获取线程的退出标识及崩溃判断信息;根据退出标识与崩溃判断信息,销毁所述线程。上述方法通过获取线程的退出标识及崩溃判断信息,并同时判断线程的退出标识和崩溃判断信息,进而根据判断结果,选择不同的销毁模式来销毁线程,避免多线程退出时产生崩溃及阻塞现象,提高了多线程退出的稳定性。

Description

多线程退出方法及移动终端
【技术领域】
本发明涉及微处理器体系结构技术领域,尤其涉及一种多线程退出方法及移动终端。
【背景技术】
多线程块模型(MTA)在每个进程里只有一个块而不是多个块。这单个块控制着多个线程而不是单个线程。一个采用了多线程技术的应用程序可以更好地利用系统资源。其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。
但是在我们设备程序或者终端App中,经常会有一个线程循环的进行作业,另一个线程操作退出这个循环线程时,如果处理不当,会出现崩溃、阻塞现象。
【发明内容】
为了解决上述技术问题,本发明实施例提供一种避免多线程退出时产生崩溃及阻塞现象的多线程退出方法及移动终端。
为解决上述技术问题,本发明实施例提供以下技术方案:一种多线程退出方法。所述多线程退出方法包括:
获取线程的退出标识及崩溃判断信息;
根据所述退出标识与所述崩溃判断信息,销毁所述线程。
可选地,所述获取线程的崩溃判断信息,包括:
监测所述线程的退出时长,其中,所述退出时长为所述线程被设置进入退出状态的时间点与当前时间点之间的时长;
判断所述退出时长是否满足预设参考时长条件,以得到判断结果,并将所述判断结果作为所述崩溃判断信息。
可选地,所述退出标识包括第一退出标识与第二退出标识;
所述根据所述退出标识与所述崩溃判断信息,销毁所述线程,包括:
若所述退出标识属于所述第一退出标识,销毁所述线程;
若所述退出标识属于所述第二退出标识,且所述退出时长满足所述预设参考时长条件时,销毁所述线程。
可选地,当所述退出标识属于所述第二退出标识时,该方法还包括:
若所述退出时长未满足所述预设参考时长条件,则继续监测所述线程的退出时长。
可选地,所述若所述退出时长未满足预设参考时长条件,则继续监测所述线程的退出时长,包括:
等待预设时长后,继续监测所述线程的退出时长。
可选地,在所述获取线程的退出标识与所述崩溃判断信息之前,所述方法还包括:
设置退出指示标识及初始计数值,其中,所述退出指示标识用于指示所述线程进入退出状态并输出所述第一退出标识,所述初始计数值用于指示所述线程被设置进入退出状态的时间点。
可选地,所述监测所述线程的退出时长,包括:
设置计数值i,并令所述初始计数值为0;
判断所述计数值i是否大于或等于预设计数阈值;
若否,等待所述预设时长,并根据赋值式子:i=i+1,更新计数值i,返回继续判断更新后的计数值i是否大于或等于预设计数阈值;
若是,销毁所述线程。
可选地,创建所述线程;
设置运行指示标识,其中,所述运行指示标识用于指示所述线程进入作业状态。
可选地,所述退出指示标识与所述运行指示标识共用第一寄存器位置,其中,令所述线程进入退出状态时,设置所述第一寄存器位置为退出指示标识;令所述线程进入作业状态时,设置所述第一寄存器位置为运行指示标识。
可选地,所述第一退出标识与所述第二退出标识共用第二寄存器位置,其中,令所述线程进入退出状态时,设置所述第二寄存器位置为第一退出标识;令所述线程进入作业状态时,设置所述第二寄存器位置为第二退出标识。
可选地,所述销毁所述线程之前,所述方法还包括:
中断所述线程的作业。
可选地,所述中断所述线程的作业,包括:
根据所述线程的作业内容,中断所述线程的作业。
可选地,所述作业内容包括文件的读写操作或网络数据的读写操作;则,
所述根据所述线程的作业内容,中断所述线程的作业,包括:
当所述作业内容为文件的读写操作时,采取关闭文件的方式中断所述线程的作业;
当所述作业内容为网络数据的读写操作时,采取关闭网络接口的方式中断所述线程的作业。
为解决上述技术问题,本发明实施例还提供以下技术方案:一种移动终端。所述移动终端与无人机通信连接,所述移动终端包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行上述所述的多线程处理方法。
与现有技术相比较,本发明实施例的提供多线程退出方法通过获取线程的退出标识及崩溃判断信息,并同时判断所述线程的退出标识和崩溃判断信息,进而根据判断结果,选择不同的销毁模式来销毁所述线程,避免多线程退出时产生崩溃及阻塞现象,提高了多线程退出的稳定性。
【附图说明】
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的多线程退出方法的流程示意图;
图2为本发明实施例提供的另一实施例的多线程退出方法的流程示意图;
图3为本发明实施例提供的再一实施例的多线程退出方法的流程示意图;
图4是图1中S10的流程示意图;
图5是图1中S20的流程示意图;
图6是图5中S22的流程示意图;
图7为本发明实施例提供的多线程退出装置的结构框图;
图8为本发明实施例提供的终端的结构框图。
【具体实施方式】
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“上”、“下”、“内”、“外”、“底部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本发明不同实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供了一种多线程退出方法,所述方法通过获取线程的退出标识及崩溃判断信息,并同时判断所述线程的退出标识和崩溃判断信息,进而根据判断结果,选择不同的销毁模式来销毁所述线程,避免多线程退出时产生崩溃及阻塞现象,提高了多线程退出的稳定性。
以下举例说明所述多线程退出方法的应用环境。
本发明实施例提供的技术方案,可以应用于多线程,也可以应用于多进程,多任务的场景下,实现过程类似,本申请实施例中以多线程为例。
为了描述方便,下文统称完成多线程退出设备为处理设备,该处理设备包括一个主线程模块和一个或多个子线程模块。
所述处理设备采用典型MIPS处理器流水体系,即将一条指令的执行划分为取指(IF)、译码(ID)、执行(EX)、访存(MEM)和写回(WB)五级流水,本发明在此流水基础上进行设计,采用加深流水级数,支持硬件多线程执行。
所述处理设备包括硬件多线程取指器件,硬件多线程译码器件,硬件多线程执行器件,硬件多线程访存器件,硬件多线程写回器件、硬件多线程寄存器组,多线程控制器件。每个器件都支持n个硬件线程并行执行,且各器件之间是同步的。
硬件多线程取指器件,根据多线程控制器件输出的取指控制信号,完成n 个硬件线程指令地址的更新操作、实现指令地址的存储、完成对n个硬件线程的取指操作,将指令输出到硬件多线程译码器件;硬件多线程译码器件,根据硬件多线程取指器件输出的n个线程的指令和多线程控制器件产生的译码控制信号,完成n个硬件线程的译码操作,将待操作的操作控制信息和数据信息输出给硬件多线程执行器件;硬件多线程执行器件,根据硬件多线程译码器件输出的操作控制信息和数据信息、多线程控制器件产生的执行控制信号,完成n个线程的指令执行,将执行结果的数据信息输出给硬件多线程访存器件;硬件多线程访存器件,根据多线程控制器件产生的访存控制信号,完成n个硬件线程的存储器访问操作,并将来自多线程执行器件的数据信息输出给硬件多线程写回器件;硬件多线程写回器件,根据多线程控制器件产生的写回控制信号,将待写回的数据信息和当前待写回的寄存器地址输出给硬件多线程寄存器组;硬件多线程寄存器组,根据多线程控制器件输出的寄存器控制信号,配合硬件多线程译码器件和硬件多线程写回器件,完成n个硬件线程的寄存器组读写操作;多线程控制器件,控制整个硬件多线程装置的各器件执行,具体产生以下控制信号:产生取指控制信号输出给硬件多线程取指器件,产生译码控制信号输出给硬件多线程译码器件、产生执行控制信号输出给硬件多线程执行器件、产生访存控制信号输出给硬件多线程访存器件、产生写回控制信号输出给硬件多线程写回器件,产生寄存器控制信号输出给硬件多线程寄存器组。
图1为本发明实施例提供的多线程退出方法的实施例。如图2所示,该多线程退出方法包括如下步骤:
S10:获取线程的退出标识及崩溃判断信息。
其中,所述处理设备包括一个主线程模块和一个或多个子线程模块,可同时处理一个主线程和一个或多个子线程。所述退出标识为一个或多个所述子线程的退出标识。所述退出标识可为任意数值,例如:1或0;所述退出标识也可为任意其终端可识别的字母或符号标识等等,当所述线程执行完相应作业时,输出所述退出标识,进而可根据所述退出标识销毁所述线程。
所述线程出线异常时,例如所述线程由于某种原因卡住,进而无法输出所述退出标识,导致其他线程一直处于阻塞的状态,从而造成终端(例如:手机、平板及遥控器等电子设备)卡死,影响用户的体验。
所述崩溃判断信息用于当所述线程出现上述异常时,通过判断所述崩溃判断信息,若所述崩溃判断信息满足预设条件,可直接销毁所述线程,进而解决阻塞线程的问题,降低了崩溃的概率。
S20:根据所述退出标识与所述崩溃判断信息,销毁所述线程。
其中,当所述退出标识或所述崩溃判断信息其中之一满足预设条件时,即可销毁所述线程。若所述退出标识和所述崩溃判断信息均不满足预设条件时,则继续获取线程的退出标识及崩溃判断信息和验证所述退出标识或所述崩溃判断信息其中之一是否满足预设条件。在继续获取继续获取线程的退出标识及崩溃判断信息之前,可更新所述退出标识或者崩溃判断信息,直至所述退出标识或所述崩溃判断信息其中之一满足预设条件,进而成功销毁所述线程。
在一些实施例中,也可设置当所述退出标识和所述崩溃判断信息均满足预设条件时,销毁所述线程。当所述退出标识或所述崩溃判断信息其中之一未满足预设条件时,继续获取线程的退出标识及崩溃判断信息和验证所述退出标识和所述崩溃判断信息是否均满足预设条件。
本发明实施例提供了一种多线程退出方法,所述方法通过获取线程的退出标识及崩溃判断信息,并同时判断所述线程的退出标识和崩溃判断信息,进而根据判断结果,选择不同的销毁模式来销毁所述线程,避免多线程退出时产生崩溃及阻塞现象,提高了多线程退出的稳定性。
在一些实施例中,所述获取线程的退出标识及崩溃判断信息之前,请参阅图2,所述方法还包括:
S30:创建所述线程。
具体地,采用Java编程语言通过继承Thread类创建所述线程,首先定义 Thread类的子类,并重写该类的run()方法,该方法的方法体就是线程需要完成的任务,run()方法也称为线程执行体。创建Thread子类的实例,也就是创建了线程对象,启动线程,即调用线程的start()方法。
在一些实施例中,通过实现Runnable接口创建并启动所述线程,定义 Runnable接口的实现类,一样要重写run()方法,这个run()方法和Thread 中的run()方法一样是线程的执行体,创建Runnable实现类的实例,并用这个实例作为Thread的target来创建Thread对象,这个Thread对象才是真正的线程对象,最后通过调用线程对象的start()方法来启动线程。
在一些实施例中,也可使用Callable和Future创建线程或使用线程池例如用Executor框架创建所述线程。
在一些实施例中,也可采用其他编程语言创建所述线程,不同的编程语言创建所述线程的方式不同,在此不做限定。
S40:设置运行指示标识,其中,所述运行指示标识用于指示所述线程进入作业状态。
具体地,当创建所述线程之后或之前,设置所述运行指示标识,所述所述运行指示标识用于指示所述线程进入作业状态。所述运行指示标识作为全局变量,若所述线程获取到所述运行指示标识,则所述线程一直保持作业状态,若所述线程未获取到所述运行指示标识,则所述线程停止作业,输出所述退出标识。
为了更好的根据所述退出标识与所述崩溃判断信息,销毁所述线程,避免多线程退出时产生崩溃及阻塞现象,提高多线程退出的稳定性,在一些实施例中,在所述获取线程的退出标识与所述崩溃判断信息之前,请参阅图3,所述方法还包括:
S50:设置退出指示标识及初始计数值,其中,所述退出指示标识用于指示所述线程进入退出状态,所述初始计数值用于指示所述线程被设置进入退出状态的时间点。
其中,所述退出指示标识与所述运行指示标识共用第一寄存器76位置,其中,令所述线程进入退出状态时,设置所述第一寄存器76位置为退出指示标识;令所述线程进入作业状态时,设置所述第一寄存器76位置为运行指示标识。
具体地,所述退出指示标识与所述运行指示标识采用相同的变量名称,但是所述运行指示标识和所述运行指示标识分别对应的所述变量的赋值是不同,例如:所述运行指示标识和所述运行指示标识的统一采用变量名称R,当R=1时,代表所述运行指示标识,当R=0时,代表所述退出指示标识。即当赋值R=1时,用于指示所述线程进入作业状态,当赋值R=0时,用于指示所述线程进入退出状态。
所述退出指示标识和所述运行指示标识可为任意数值,只需保证所述所述退出指示标识和所述运行指示标识的数值不同即可,例如:1或0;所述运行指示标识也可为任意其终端可识别的字母或符号标识等等。
为了更好的销毁所述线程,避免多线程退出时产生崩溃及阻塞现象,提高多线程退出的稳定性,在一些实施例中,所述销毁所述线程之前,请参阅图3,所述方法还包括:
S60:中断所述线程的作业。
其中,在设置退出指示标识及初始计数值之后,直接中断正在运行的所述线程。
具体地,Thread类本身就有个stop方法来停止线程。但是stop()方法已经被弃用,原因是stop()方法过于暴力,会强行把执行一半的线程终止。这样会就不会保证线程的资源正确释放,通常是没有给与线程完成资源释放工作的机会,因此会导致程序工作在不确定的状态下。因此本实施例中,使用 interrept停止所述线程,interrupt()方法只是改变中断状态而已,它不会中断一个正在运行的线程。这一方法实际完成的是,给受阻塞的线程发出一个中断信号,这样受阻线程就得以退出阻塞的状态。更确切的说,如果线程被Object.wait,Thread.join和Thread.sleep三种方法之一阻塞,此时调用该线程的interrupt()方法,那么该线程将抛出一个InterruptedException中断异常(该线程必须事先预备好处理此异常),从而提早地终结被阻塞状态。如果线程没有被阻塞,这时调用interrupt()将不起作用,直到执行到wait(),sleep(),join() 时,才马上会抛出InterruptedException,从而保证中断所述线程过程中的确定性和稳定性。
为了更好的获取所述线程的崩溃判断信息,在一些实施例中,请参阅图4, S10包括如下步骤:
S11:监测所述线程的退出时长,其中,所述退出时长为所述线程被设置进入退出状态的时间点与当前时间点之间的时长。
具体地,运行相应的监测线程程序,使每个监测线程程序进入循环调用过程,在每个循环中更新所在的中央处理器的时间计数为所述当前时间点,并将所述线程被设置进入退出状态时的中央处理器的时间计数为所述退出状态的时间点。进而退出状态的时间点与当前时间点之间的差值,得到所述线程的退出时长。
S12:判断所述退出时长是否满足预设参考时长条件,以得到判断结果,并将所述判断结果作为所述崩溃判断信息。
具体地,若所述退出时长小于或者等于所述预设参考时长,则判定所述所述退出时长满足预设参考时长条件。若所述退出时长大于所述预设参考时长,则判定所述退出时长未满足预设参考时长条件,进而根据上述判定结果作为崩溃判断信息。优选地,所述预设参考时长为2-3s。
在一些实施例中,也可采用其他的判定过程,得到所述判断结果,例如:若所述退出时长小于或者等于所述预设参考时长,则判定所述所述退出时长未满足预设参考时长条件。若所述退出时长大于所述预设参考时长,则判定所述退出时长满足预设参考时长条件,进而根据上述判定结果作为崩溃判断信息。
为了更好的所述根据所述退出标识与所述崩溃判断信息,销毁所述线程,在一些实施例中,请参阅图5,S20包括如下步骤:
S21:若所述退出标识属于所述第一退出标识,销毁所述线程;
具体地,所述退出标示包括第一退出标识和第二退出标识。所述第一退出标识和所述第二退出标识的采用相同的变量名称,但是所述第一退出标识和所述第二退出标识分别对应的所述变量的赋值是不同,例如:所述第一退出标识和所述第二退出标识的统一采用变量名称E,当E=1时,代表第一退出标识,当E不等于1时,代表第二退出标识。当获取到的第一退出标识时,即E=1时,则直接销毁所述线程。
其中,所述第一退出标识与所述第二退出标识共用第二寄存器77位置,其中,令所述线程进入退出状态时,设置所述第二寄存器77位置为第一退出标识;令所述线程进入作业状态时,设置所述第二寄存器77位置为第二退出标识。
S22:若所述退出标识属于所述第二退出标识,根据所述崩溃判断信息,销毁所述线程。
具体地,若获取到的是第二退出标识,再根据所述崩溃判断信息是否符合预设条件,若所述崩溃判断信息符合预设条件,则销毁所述线程,若所述崩溃判断信息不符合预设条件,进行预设操作后,继续监测所述线程的退出时长。
为了更好的根据所述崩溃判断信息,销毁所述线程,请参阅图6,S22包括如下步骤:
S222:若所述退出时长满足预设参考时长条件,销毁所述线程。
具体地,当若所述退出时长大于所述预设参考时长,则判定所述退出时长满足预设条件时长条件,销毁所述线程。
其中,销毁所述线程可通过设置退出标志,使线程正常退出,也就是当 run()方法完成后线程终止,也可使用interrupt()方法中断所述线程或使用stop 方法强行终止所述线程。
S223:若所述退出时长未满足所述预设参考时长条件,则继续监测所述线程的退出时长。
若所述退出时长未满足预设参考时长条件,等待预设时长后,继续监测所述线程的退出时长。
其中,所述继续监测所述线程的退出时长具体包括:设置计数值i,并令初始计数值为0;
判断所述计数值i是否大于或等于预设计数阈值;
若否,等待所述预设时长,并根据赋值式子:i=i+1,更新计数值i,返回继续判断更新后的计数值i是否大于或等于预设计数阈值;
其中,所述预设计数阈值可通过以下算式获得:
其中,N为预设技术阈值,T为预设参考时长,t为预设时长。
若是,销毁所述线程。
为了及时的中断所述线程的作业,在一些实施例中,请参阅图5,S60包括如下步骤:
根据所述线程的作业内容,中断所述线程的作业。
其中,在本实施例中,所述作业内容包括文件的读写操作或网络数据的读写操作。
为了更好的根据所述线程的作业内容,中断所述线程的作业,在一些实施例中,所述根据所述线程的作业内容,中断所述线程的作业,请参阅图5,还包括如下步骤:
当所述作业内容为文件的读写操作时,采取关闭文件的方式中断所述线程的作业。
具体地,当作业涉及的是文件的读写操作(read/write)时,如果读写数据比较大,容易被阻塞,所述中断所述线程的作业就是直接关闭文件(close),这时,所述线程的读写操作就会直接中断退出。
当所述作业内容为网络数据的读写操作时,采取关闭网络接口的方式中断所述线程的作业。
具体地,当作业涉及的是网络数据的读写操作(recv/send)时,如果网络状态不好或者读写数据比较大,容易被阻塞,所述中断所述线程的作业就是直接关闭网络Socket,这时,所述线程中的网络读写操作就会直接中断退出,从而退出循环。
需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本申请实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本申请实施例的另一方面,本申请实施例提供一种多线程退出装置 70。请参阅图7,该多线程退出装置70包括:获取模块71及销毁模块72。
所述获取模块71用于获取线程的退出标识及崩溃判断信息。
所述销毁模块72用于根据所述退出标识与所述崩溃判断信息,销毁所述线程。
因此,在本实施例中,所述多线程退出装置70通过获取线程的退出标识及崩溃判断信息,并同时判断所述线程的退出标识和崩溃判断信息,进而根据判断结果,选择不同的销毁模式来销毁所述线程,避免多线程退出时产生崩溃及阻塞现象,提高了多线程退出的稳定性。
在一些实施例中,多线程退出装置70还包括第一设置模块73,第一设置模块73用于设置退出指示标识及初始计数值,其中,所述退出指示标识用于指示所述线程进入退出状态并输出所述第一退出标识,所述初始计数值用于指示所述线程被设置进入退出状态的时间点。
在一些实施例中,多线程退出装置70还包括创建线程模块74和第二设置模块75。所述第二设置模块75用于设置运行指示标识,所述运行指示标识用于指示所述线程进入作业状态。所述创建线程模块74用于创建所述线程。
在一些实施例中,多线程退出装置70还包括第一寄存器76和第二寄存器77,
所述第一寄存器76用于存储退出指示标识和运行指示标识。具体地,所述退出指示标识与所述运行指示标识共用第一寄存器76位置,其中,令所述线程进入退出状态时,设置所述第一寄存器76位置为退出指示标识;令所述线程进入作业状态时,设置所述第一寄存器76位置为运行指示标识。
所述第二寄存器77用于存储所述第一退出标识与所述第二退出标识,具体地,所述第一退出标识与所述第二退出标识共用第二寄存器77位置,其中,令所述线程进入退出状态时,设置所述第二寄存器77位置为第一退出标识;令所述线程进入作业状态时,设置所述第二寄存器77位置为第二退出标识。
在一些实施例中,多线程退出装置70还包括中断模块78,所述中断模块 78用于中断所述线程的作业。
其中,在一些实施例中,所述获取模块71包括检测单元和判断单元。所述检测单元用于监测所述线程的退出时长,所述退出时长为所述线程被设置进入退出状态的时间点与当前时间点之间的时长。所述检测单元具体用于设置计数值i,并令初始计数值为0;判断所述计数值i是否大于或等于预设计数阈值;若否,等待所述预设时长,并根据赋值式子:i=i+1,更新计数值i,返回继续判断更新后的计数值i是否大于或等于预设计数阈值;若是,销毁所述线程。
所述判断单元用于判断所述退出时长是否满足预设参考时长条件,得到判断结果,并将所述判断结果作为崩溃判断信息。
其中,在一些实施例中,所述销毁模块72包括第一销毁单元及第二销毁单元。所述退出标识包括第一退出标识与第二退出标识。
所述第一销毁单元用于若所述退出标识属于所述第一退出标识,销毁所述线程。
所述第二销毁单元用于若所述退出标识属于所述第二退出标识,根据所述崩溃判断信息,销毁所述线程。
其中,在一些实施例中,所述销毁模块72还包括第一判断单元和第二判断单元;所述第一判断单元用于若所述退出时长满足预设参考时长条件,销毁所述线程,所述第二判断单元用于若所述退出时长未满足预设参考时长条件,继续监测所述线程的退出时长。所述第二判断单元具体用于若所述退出时长未满足预设参考时长条件,等待预设时长后,继续监测所述线程的退出时长。
其中,在一些实施例中,所述中断模块78包括文件作业中断单元和网络作业中断单元,所述文件作业中断单元用于当所述作业内容为文件的读写操作时,采取关闭文件的方式中断所述线程的作业。所述网络作业中断单元用于当所述作业内容为网络数据的读写操作时,采取关闭网络接口的方式中断所述线程的作业。
需要说明的是,上述多线程退出装置可执行本发明实施例所提供的多线程退出方法,具备执行方法相应的功能模块和有益效果。未在多线程退出装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的多线程退出方法。
图8为本发明实施例提供的移动终端100的结构框图。所述移动终端与无人机通信连接,该移动终端100可以用于实现所述主控芯片中的全部或者部分功能模块的功能。如图8所示,该移动终端100可以包括:处理器110、存储器120以及通信模块130。
所述处理器110、存储器120以及通信模块130之间通过总线的方式,建立任意两者之间的通信连接。
处理器110可以为任何类型,具备一个或者多个处理核心的处理器110。其可以执行单线程或者多线程的操作,用于解析指令以执行获取数据、执行逻辑运算功能以及下发运算处理结果等操作。
存储器120作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的多线程退出方法对应的程序指令/模块(例如,附图8所示的获取模块71、销毁模块 72、第一设置模块73、创建线程模块74、第二设置模块75、第一寄存器76、第二寄存器77及中断模块78)。处理器110通过运行存储在存储器120中的非暂态软件程序、指令以及模块,从而执行多线程退出装置70的各种功能应用以及数据处理,即实现上述任一方法实施例中多线程退出方法。
存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据多线程退出装置70的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述存储器120存储有可被所述至少一个处理器110执行的指令;所述至少一个处理器110用于执行所述指令,以实现上述任意方法实施例中多线程退出方法,例如,执行以上描述的方法步骤10、20、30、40、50、60等,实现图7中的模块71-78的功能。
通信模块130是用于建立通信连接,提供物理信道的功能模块。通信模块130以是任何类型的无线或者有线通信模块130,包括但不限于WiFi模块或者蓝牙模块等。所述通信模块130用于与无人机通信连接。
进一步地,本发明实施例还提供了一种非暂态终端可读存储介质,所述 非暂态终端可读存储介质存储有终端可执行指令,该终端可执行指令被一个 或多个处理器110执行,例如,被图8中的一个处理器110执行,可使得上 述一个或多个处理器110执行上述任意方法实施例中多线程退出方法,例如, 执行以上描述的方法步骤10、20、30、40、50、60等等,实现图7中的模块 71-78的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序产品中的计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非暂态计算机可读取存储介质中,该计算机程序包括程序指令,当所述程序指令被相关设备执行时,可使相关设备执行上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM) 等。
上述产品可执行本发明实施例所提供的多线程退出方法,具备执行多线程退出方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的多线程退出方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种多线程退出方法,用于移动终端,其特征在于,包括:
获取线程的退出标识及崩溃判断信息;
根据所述退出标识与所述崩溃判断信息,销毁所述线程。
2.根据权利要求1所述的方法,其特征在于,所述获取线程的崩溃判断信息,包括:
监测所述线程的退出时长,其中,所述退出时长为所述线程被设置进入退出状态的时间点与当前时间点之间的时长;
判断所述退出时长是否满足预设参考时长条件,以得到判断结果,并将所述判断结果作为所述崩溃判断信息。
3.根据权利要求2所述的方法,其特征在于,所述退出标识包括第一退出标识与第二退出标识;
所述根据所述退出标识与所述崩溃判断信息,销毁所述线程,包括:
若所述退出标识属于所述第一退出标识,销毁所述线程;
若所述退出标识属于所述第二退出标识,且所述退出时长满足所述预设参考时长条件时,销毁所述线程。
4.根据权利要求3所述的方法,其特征在于,当所述退出标识属于所述第二退出标识时,所述方法还包括:
若所述退出时长未满足所述预设参考时长条件,则继续监测所述线程的退出时长。
5.根据权利要求4所述的方法,其特征在于,所述若所述退出时长未满足预设参考时长条件,则继续监测所述线程的退出时长,包括:
等待预设时长后,继续监测所述线程的退出时长。
6.根据权利要求5所述的方法,其特征在于,在所述获取线程的退出标识与所述崩溃判断信息之前,所述方法还包括:
设置退出指示标识及初始计数值,其中,所述退出指示标识用于指示所述线程进入退出状态并输出所述第一退出标识,所述初始计数值用于指示所述线程被设置进入退出状态的时间点。
7.根据权利要求6所述的方法,其特征在于,所述监测所述线程的退出时长,包括:
设置计数值i,并令所述初始计数值为0;
判断所述计数值i是否大于或等于预设计数阈值;
若否,等待所述预设时长,并根据赋值式子:i=i+1,更新计数值i,返回继续判断更新后的计数值i是否大于或等于预设计数阈值;
若是,销毁所述线程。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
创建所述线程;
设置运行指示标识,其中,所述运行指示标识用于指示所述线程进入作业状态。
9.根据权利要求8所述的方法,其特征在于,
所述退出指示标识与所述运行指示标识共用第一寄存器位置,其中,令所述线程进入退出状态时,设置所述第一寄存器位置为退出指示标识;令所述线程进入作业状态时,设置所述第一寄存器位置为运行指示标识。
10.根据权利要求8所述的方法,其特征在于,
所述第一退出标识与所述第二退出标识共用第二寄存器位置,其中,令所述线程进入退出状态时,设置所述第二寄存器位置为第一退出标识;令所述线程进入作业状态时,设置所述第二寄存器位置为第二退出标识。
11.根据权利要求1所述的方法,其特征在于,
所述销毁所述线程之前,所述方法还包括:
中断所述线程的作业。
12.根据权利要求11所述的方法,其特征在于,
所述中断所述线程的作业,包括:
根据所述线程的作业内容,中断所述线程的作业。
13.根据权利要求12所述的方法,其特征在于,所述作业内容包括文件的读写操作或网络数据的读写操作;则,
所述根据所述线程的作业内容,中断所述线程的作业,包括:
当所述作业内容为文件的读写操作时,采取关闭文件的方式中断所述线程的作业;
当所述作业内容为网络数据的读写操作时,采取关闭网络接口的方式中断所述线程的作业。
14.一种移动终端,所述移动终端与无人机通信连接,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1-13中任一项所述的多线程处理方法。
CN201910453615.2A 2019-05-28 2019-05-28 多线程退出方法及移动终端 Pending CN110362389A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910453615.2A CN110362389A (zh) 2019-05-28 2019-05-28 多线程退出方法及移动终端
EP20814356.0A EP3968156A4 (en) 2019-05-28 2020-05-27 MULTI-WIRE OUTPUT PROCESS AND MOBILE TERMINAL
PCT/CN2020/092645 WO2020238967A1 (zh) 2019-05-28 2020-05-27 多线程退出方法及移动终端
US17/536,421 US11853153B2 (en) 2019-05-28 2021-11-29 Multi-thread exit method and mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910453615.2A CN110362389A (zh) 2019-05-28 2019-05-28 多线程退出方法及移动终端

Publications (1)

Publication Number Publication Date
CN110362389A true CN110362389A (zh) 2019-10-22

Family

ID=68214917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910453615.2A Pending CN110362389A (zh) 2019-05-28 2019-05-28 多线程退出方法及移动终端

Country Status (4)

Country Link
US (1) US11853153B2 (zh)
EP (1) EP3968156A4 (zh)
CN (1) CN110362389A (zh)
WO (1) WO2020238967A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238967A1 (zh) * 2019-05-28 2020-12-03 深圳市道通智能航空技术有限公司 多线程退出方法及移动终端

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661464A (zh) * 2022-03-16 2022-06-24 展讯通信(上海)有限公司 相机马达归位方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150277947A1 (en) * 2014-03-27 2015-10-01 International Business Machines Corporation Exiting multiple threads in a computer
CN106681811A (zh) * 2016-12-08 2017-05-17 腾讯科技(深圳)有限公司 基于线程池的多线程调度方法及装置
CN107967176A (zh) * 2017-11-22 2018-04-27 郑州云海信息技术有限公司 一种Samba多线程架构异常处理方法及相关装置
CN108052396A (zh) * 2017-11-27 2018-05-18 深圳市恒扬数据股份有限公司 一种资源分配方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418542B1 (en) * 1998-04-27 2002-07-09 Sun Microsystems, Inc. Critical signal thread
US20050235136A1 (en) * 2004-04-16 2005-10-20 Lucent Technologies Inc. Methods and systems for thread monitoring
CN101355577B (zh) * 2008-09-01 2011-04-20 中兴通讯股份有限公司 一种多线程通讯程序中防止线程吊死的方法
US9501382B2 (en) * 2013-06-25 2016-11-22 Purdue Research Foundation Systems and methods of detecting power bugs
US9274894B1 (en) * 2013-12-09 2016-03-01 Twitter, Inc. System and method for providing a watchdog timer to enable collection of crash data
US9436533B2 (en) * 2014-05-30 2016-09-06 Apteligent, Inc. System for monitoring and tracking application crashes occurring on different mobile devices
US11195162B2 (en) * 2014-10-06 2021-12-07 Vmware, Inc. System for defining and tracking transactions of mobile devices
US9740551B2 (en) * 2014-12-02 2017-08-22 International Business Machines Corporation Enhanced restart of a core dumping application
CN108052390B (zh) * 2017-11-30 2021-11-16 努比亚技术有限公司 基于线程阻塞的内存清理方法、移动终端及可读存储介质
CN107861817B (zh) * 2017-11-30 2021-11-16 努比亚技术有限公司 基于线程阻塞的内存优化方法、移动终端及可读存储介质
CN108804211A (zh) * 2018-04-27 2018-11-13 西安华为技术有限公司 线程调度方法、装置、电子设备及存储介质
CN110362389A (zh) * 2019-05-28 2019-10-22 深圳市道通智能航空技术有限公司 多线程退出方法及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150277947A1 (en) * 2014-03-27 2015-10-01 International Business Machines Corporation Exiting multiple threads in a computer
CN106681811A (zh) * 2016-12-08 2017-05-17 腾讯科技(深圳)有限公司 基于线程池的多线程调度方法及装置
CN107967176A (zh) * 2017-11-22 2018-04-27 郑州云海信息技术有限公司 一种Samba多线程架构异常处理方法及相关装置
CN108052396A (zh) * 2017-11-27 2018-05-18 深圳市恒扬数据股份有限公司 一种资源分配方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一滴尘埃: "Java线程退出实现方式", 《HTTPS://BLOG.CSDN.NET/JIABY008/ARTICLE/DETAILS/6198739》 *
易七: "java多线程Thread的超时中断", 《HTTPS://WWW.CNBLOGS.COM/YIQI520/P/10286816.HTML》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238967A1 (zh) * 2019-05-28 2020-12-03 深圳市道通智能航空技术有限公司 多线程退出方法及移动终端
US11853153B2 (en) 2019-05-28 2023-12-26 Autel Robotics Co., Ltd. Multi-thread exit method and mobile terminal

Also Published As

Publication number Publication date
US11853153B2 (en) 2023-12-26
WO2020238967A1 (zh) 2020-12-03
EP3968156A1 (en) 2022-03-16
EP3968156A4 (en) 2022-06-08
US20220083416A1 (en) 2022-03-17

Similar Documents

Publication Publication Date Title
US10831490B2 (en) Device and method for scheduling multiple thread groups on SIMD lanes upon divergence in a single thread group
CN103778016B (zh) 多线程处理器
CN110362389A (zh) 多线程退出方法及移动终端
CN107688854B (zh) 一种能支持不同位宽运算数据的运算单元、方法及装置
CN104375804B (zh) 多线程执行处理器及其操作方法
CN103348318A (zh) 控制依赖于相同数据条件的相邻指令的执行
CN101681261A (zh) 指令执行控制装置以及指令执行控制方法
JP2009523275A5 (zh)
CN111104210A (zh) 一种任务处理方法、装置及计算机系统
CN107851021A (zh) 使用动态矢量长度循环的矢量处理
CN109885857A (zh) 指令发射控制方法、指令执行验证方法、系统及存储介质
CN108984442A (zh) 一种基于二值化算法的加速控制系统、芯片及机器人
US20140281776A1 (en) Method and apparatus for device testing using multiple processing paths
WO2013100998A1 (en) Processor with second jump execution unit for branch misprediction
CN111752877A (zh) 一种处理器及其中的中断控制器
US10606594B2 (en) Method and apparatus for executing multi-thread using mask value
US11347557B2 (en) Method and system for predicting optimal number of threads for application running on electronic device
WO2016107299A1 (zh) 一种状态机的合并方法和装置
CN110837415A (zh) 一种基于risc-v多核处理器的线程调度方法和装置
US20230342211A1 (en) Method and device for controlling hardware accelerator by using sw framework structure homogeneous multi-core accelerator for supporting acceleration of time-critical task
CN111258950A (zh) 原子访存方法、存储介质、计算机设备、装置和系统
CN107291559A (zh) 一种控制cpu线程和gpu线程同步的方法及装置
CN112416301A (zh) 深度学习模型开发方法及装置、计算机可读存储介质
CN105677487B (zh) 一种控制资源占用的方法及装置
JP2022526333A (ja) データ処理方法と装置、コンピュータデバイス、記録媒体、及びコンピュータプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518055 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Yuen Building 9 layer B1

Applicant after: Shenzhen daotong intelligent Aviation Technology Co.,Ltd.

Address before: 518055 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Yuen Building 9 layer B1

Applicant before: AUTEL ROBOTICS Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20191022

RJ01 Rejection of invention patent application after publication