CN115080155A - Multithreading control method, device, equipment and storage medium - Google Patents

Multithreading control method, device, equipment and storage medium Download PDF

Info

Publication number
CN115080155A
CN115080155A CN202210657503.0A CN202210657503A CN115080155A CN 115080155 A CN115080155 A CN 115080155A CN 202210657503 A CN202210657503 A CN 202210657503A CN 115080155 A CN115080155 A CN 115080155A
Authority
CN
China
Prior art keywords
instruction
thread
analysis
sub
control
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
CN202210657503.0A
Other languages
Chinese (zh)
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.)
Shanghai Jaka Robotics Ltd
Original Assignee
Shanghai Jaka Robotics 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 Shanghai Jaka Robotics Ltd filed Critical Shanghai Jaka Robotics Ltd
Priority to CN202210657503.0A priority Critical patent/CN115080155A/en
Publication of CN115080155A publication Critical patent/CN115080155A/en
Pending legal-status Critical Current

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a multithreading control method, a multithreading control device, multithreading equipment and a multithreading storage medium. The method comprises the following steps: in the process of analyzing a first source code file through a main thread, the main thread detects a sub-thread creation code and creates a sub-thread; analyzing a second source code file associated with the child thread creation code through the child thread; and executing the analysis instruction obtained by analysis. The embodiment of the invention can realize the automatic creation and analysis of multiple threads, thereby realizing analysis instructions obtained by executing the multiple threads and analyzing in parallel and simplifying the realization process of the multi-thread control method.

Description

Multithreading control method, device, equipment and storage medium
Technical Field
The present invention relates to the field of computer control technologies, and in particular, to a multithread control method, apparatus, device, and storage medium.
Background
In the process of executing the operation program by the robot, for the characteristic of parallel execution of tasks, script multithreading can be realized based on LUA (programming language) scheme extension, and multithreading can also be realized by writing a custom parser.
Disclosure of Invention
The invention provides a multithreading control method, a multithreading control device, a multithreading control equipment and a multithreading storage medium, which are used for realizing analysis instructions obtained by multithreading execution parallel analysis and simplifying the realization process of the multithreading control method.
According to an aspect of the present invention, there is provided a multithread control method including:
in the process of analyzing a first source code file through a main thread, the main thread detects a sub-thread creation code and creates a sub-thread;
analyzing a second source code file associated with the child thread creation code through the child thread;
and executing the analysis instruction obtained by analysis.
According to another aspect of the present invention, there is provided a multithread control apparatus including:
the thread creating module is used for detecting the sub-thread creating code by the main thread and creating the sub-thread in the process of analyzing the first source code file by the main thread;
the child thread analysis module is used for analyzing a second source code file associated with the child thread creation code through the child thread;
and the instruction execution module is used for executing the analysis instruction obtained by analysis.
According to another aspect of the present invention, there is provided an electronic apparatus including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the multithreading control method according to any of the embodiments of the present invention.
According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions for causing a processor to implement a multithread control method according to any one of the embodiments of the present invention when the computer instructions are executed.
According to another aspect of the invention, there is provided a computer program product comprising a computer program which, when executed by a processor, implements a multithreading control method according to any one of the embodiments of the invention.
According to the technical scheme of the embodiment of the invention, if the creation code of the sub-thread is detected in the process of analyzing the first source code file by the main thread, the sub-thread is created, so that the sub-thread is automatically created in the process of analyzing the main thread, the sub-thread analyzes the second source code file associated with the creation code of the sub-thread, and the analysis instruction obtained by analysis is executed, so that the sub-thread can independently analyze the second source code file associated with the creation code of the sub-thread, the parallel analysis of the sub-thread and the main thread is realized, the analysis efficiency is improved, and the multithreading control efficiency is improved.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present invention, nor do they necessarily limit the scope of the invention. Other features of the present invention will become apparent from the following description.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1a is a flowchart of a multithread control method according to an embodiment of the present invention;
fig. 1b is a schematic structural diagram of a robot control system based on a multi-thread control method according to an embodiment of the present invention;
FIG. 2 is a flowchart of a multithread control method according to a second embodiment of the present invention;
FIG. 3 is a flowchart of a multithread control method according to a third embodiment of the present invention;
FIG. 4a is a flowchart illustrating execution control of a main thread in a multithread control method according to a fourth embodiment of the present invention;
fig. 4b is a flowchart illustrating execution control of sub-threads in a multithread control method according to a fourth embodiment of the present invention;
FIG. 5 is a block diagram of a multithread control apparatus according to a fifth embodiment of the present invention;
fig. 6 is a schematic structural diagram of an electronic device implementing a multi-thread control method according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Example one
Fig. 1a is a flowchart of a multithread control method according to an embodiment of the present invention, which is applicable to a case where robot control is implemented based on the multithread control method. For convenience of understanding, a robot control system based on a multithread control method according to an embodiment of the present invention will be described in detail. Fig. 1b is a schematic structural diagram of a robot control system based on a multithread control method according to an embodiment of the present invention. As shown in fig. 1b, the robot control system includes a control teach pendant module, a task scheduling module, a script parsing module, and a control module.
The control demonstrator module is used for generating a source code file or generating an instant control instruction and sending the source code file or the instant control instruction to the task scheduling module. The number of source code files is at least one. Illustratively, the source code files may include a first source code file, a second source code file, a third source code file, and so on. The instant control instruction can realize the control of starting, stopping, suspending, recovering, debugging and the like of the robot control system, and can also realize the functions of JOG control (jogging control), IO control (input and output control) or parameter configuration inquiry and the like of the robot. The instant control instruction can be generated by a touch screen, a virtual key or writing source codes and the like.
The task scheduling module is used for receiving the source code file or the instant control instruction, sending the source code file to the script analysis module, receiving an analysis instruction generated by the script analyzer in the script analysis module according to the source code file, and scheduling the analysis instruction and the instant control instruction. The analysis instruction and the instant control instruction are scheduled, and it can also be understood that the task scheduling module sends the analysis instruction and the instant control instruction to the control module or the task scheduling module. The task scheduling module may also be configured to execute the instructions sent to the task scheduling module. For example, the instruction sent to the task scheduling module may be an instruction corresponding to the thread creation code, and the task scheduling module may create a sub-thread according to the instruction corresponding to the thread creation code and determine a script parser corresponding to the sub-thread in the script parsing module.
The script parsing module comprises at least one script parser, and the number of the script parsers can be determined according to the number of the source code files needing parsing. The script parser is used for receiving the source code file, parsing the source code file, generating a parsing instruction and sending the parsing instruction to the task scheduling module. The script resolvers have the same parsing method and can parse the source code file in parallel.
The control module is used for executing the instruction sent by the task scheduling module. Specifically, the control module may be used to perform motion control or input/output control on the robot. For example, the control module may implement robot movement trajectory planning or interpolation, and communication or interaction of physical devices such as a motor and an IO module (input/output module).
The robot control system based on the multithreading control method can realize the parallel analysis of the multiple script analysis modules and improve the analysis efficiency, and meanwhile, the analysis methods used by the script analysis modules are the same, so that the complexity of the script analysis module is reduced, the flexibility of the script analysis module can be improved, and the efficiency and the flexibility of the multithreading control are improved.
The multithread control method may be performed by a multithread control apparatus, which may be implemented in hardware and/or software, and may be configured in an electronic device. As shown in fig. 1a, the multithread control method includes:
s110, in the process of analyzing the first source code file through the main thread, the main thread detects the sub-thread creating code and creates the sub-thread.
When a program starts, a process is created while a thread, usually called the main thread of the program, is running immediately. It will also be understood that the main thread is the thread created when the first source code file begins parsing. The first source code file refers to a source code file corresponding to the main thread. In the main thread, the first source code file can be analyzed through a script analyzer corresponding to the main thread. Child thread creation code refers to code that creates a child thread. Child threads may be created by child thread creation code. A child thread refers to a thread that is created outside of the main thread that can run independently. At least one child thread may be created by a main thread. The number of sub-threads is the same as the number of sub-thread creating codes in the first source code file. It will be appreciated that in the main thread, the sub-thread may also be cancelled by setting a sub-thread cancellation code. For example, the child thread kill code may be thread _ destroy (thread _ handle).
Specifically, the first source code file is analyzed through a script analyzer corresponding to the main thread, in the process of analyzing the first source code file, if a script analyzer corresponding to the main thread detects a sub-thread creating code, a sub-thread is created according to the sub-thread creating code, the first source code file is continuously analyzed after creation is completed, and meanwhile, the sub-thread starts to run after the creation is completed.
And S120, analyzing a second source code file associated with the child thread creating code through the child thread.
The second source code file is a source code file corresponding to the child thread. Each child thread corresponds to a second source code file. The second source code file may be edited using the same code programming language as the first source code file. The second source code file associated with the child thread creation code may be determined by parameters in the child thread creation code. Specifically, the parameter of the child thread creation code may be a path of the source code file, or may be a name of the source code file. For example, the child thread creation code may be thread _ handle ═ thread _ create ("/path/to/thread/file.
Specifically, a second source code file associated with the child thread creation code is determined according to parameters of the child thread creation code. And the sub-thread analyzes a second source code file corresponding to the sub-thread creation code through a script analyzer corresponding to the sub-thread.
And S130, executing the analysis command obtained by analysis.
The analysis instruction refers to an instruction generated after a source code file is analyzed, and the source code file is a first source code file or a second source code file. Specifically, the analysis instruction obtained by analysis may be executed according to the priority of the thread in which the analysis instruction is located. The priority of the thread in which the analysis instruction is located can be set according to actual conditions. The priority of the thread in which the analysis instruction is located refers to the priority between the sub-thread and the main thread, illustratively, the priority of the main thread is higher than that of the sub-thread, and the priority of the sub-thread created first is higher than that of the sub-thread created later. The analysis instruction obtained by analysis can be executed according to the time sequence of the analysis instruction obtained by analysis. The analysis instruction obtained by analysis can be executed according to the instruction scheduling authority corresponding to the analysis instruction, and whether the analysis instruction can be executed or not can be determined according to the instruction scheduling authority. The analysis instruction can acquire instruction scheduling authority according to a set rule.
According to the technical scheme of the embodiment of the invention, if the creation code of the sub-thread is detected in the process of analyzing the first source code file by the main thread, the sub-thread is created, so that the sub-thread is automatically created in the process of analyzing the main thread, the sub-thread analyzes the second source code file associated with the creation code of the sub-thread, and the analysis instruction obtained by analysis is executed, so that the sub-thread can independently analyze the second source code file associated with the creation code of the sub-thread, the parallel analysis of the sub-thread and the main thread is realized, the analysis efficiency is improved, and the multithreading control efficiency is improved.
Example two
Fig. 2 is a flowchart of a multithread control method according to a second embodiment of the present invention, where the present embodiment further includes, on the basis of the foregoing embodiment: skipping parsing of the object code by the object thread in the event that the object code is detected by the object thread, the object code including at least one of: the child thread creates a code and a code corresponding to the instruction executed in series; wherein the number of the sub-threads is at least one, and the target thread includes: all threads except the determined one of the main thread and each of the sub-threads. As shown in fig. 2, the method includes:
s210, in the process of analyzing the first source code file through the main thread, the main thread detects the sub-thread creating code and creates the sub-thread.
And S220, analyzing a second source code file associated with the child thread creating code through the child thread.
S230, under the condition that the target code is detected by the target thread, skipping and analyzing the target code through the target thread, wherein the target code comprises at least one of the following items: the child thread creates a code and a code corresponding to the instruction executed in series; wherein the number of the sub-threads is at least one, and the target thread comprises: all threads except the determined one of the main thread and each of the sub-threads.
The target thread refers to a thread which needs to skip the analysis processing of the code in the analysis process. Specifically, the target thread includes all threads except the determined one of the main thread and the respective sub-threads. The certain one of the threads is a thread that does not need to skip the parsing process for the code during the parsing process. Illustratively, in the process of analyzing the first source code file by the main thread, two sub-thread creating codes are detected, a first sub-thread and a second sub-thread are created respectively, and when one determined thread is the main thread, the target thread is the first sub-thread and the second sub-thread; when one determined thread is a first sub-thread, the target thread is a main thread and a second sub-thread; and when the determined thread is the second sub-thread, the target thread is the main thread and the first sub-thread. If the number of the sub-threads is at least one, the number of the target threads is at least one, and specifically, the number of the target threads is the sum of the number of the sub-threads and the number of the main threads, which is reduced by one.
The object code is a code corresponding to an instruction that cannot be executed in parallel. It will be appreciated that if the target code is parsed and executed in the target thread, it will cause uncertainty in the result of the multi-threaded control. The target code includes at least one of child thread creation code and code corresponding to serially executed instructions. The code corresponding to the serially executed instructions may include at least one of motion control instructions and code corresponding to instructions having significant timing requirements. Wherein the motion control instructions may comprise robot motion control instructions. For example, the instruction executed in series may be a code corresponding to a linear motion instruction, a code corresponding to an arc motion instruction, or the like. It can be understood that, on the basis of the above example, in a scenario where the robot is controlled based on the multithread control method, the target threads are the first sub-thread and the second sub-thread, the serial execution instruction in the first sub-thread is a linear motion instruction, and the serial execution instruction in the second sub-thread is an arc motion instruction, and if the serial execution instructions in the first sub-thread and the second sub-thread are analyzed, the robot cannot determine whether to execute a linear motion action or an arc motion action during execution, which may cause confusion of the robot execution action and affect safety of robot control.
Specifically, in the process of analyzing by the script analyzer corresponding to the target thread, if the target code is detected, the script analyzer skips analyzing the target code. The script parser may detect the object code by looking up a table, where the table content may be the object code or identification information of the object code, and the script parser detects the object code through the identification information.
And S240, executing the analysis command obtained by analysis.
According to the technical scheme of the embodiment of the invention, when the target code is detected by the target thread, the target code is skipped to be analyzed, the target code can be ensured to be analyzed in only one thread of the main thread and the sub-thread, the probability of occurrence of the condition that the multi-thread control is wrong due to the analysis of the target code in a plurality of threads is reduced, and the accuracy of the multi-thread control is improved.
On the basis of the above embodiment, the target thread includes: all of the child threads.
Specifically, in this embodiment, the target code may be analyzed only in the main thread, and the target thread is all the sub-threads, and each sub-thread skips analyzing the target code when detecting the target code.
By determining the target thread as all the sub-threads, the target code can be analyzed only in the main thread, and the analysis instruction after the target code is analyzed can be executed only by the main thread, so that the accuracy of multi-thread control is improved.
In addition, if the sub-thread is a non-target thread, all target codes in the first source code file and the second source code file cannot be analyzed, so that an analysis error is caused, and at the moment, the first source code file and the second source code file cannot be compatible with a mode of analyzing the target codes only through the main thread.
On the basis of the above embodiment, the parsing instruction parsed by the main thread includes at least one of the following: the robot comprises a robot action control command, an input/output control command and a task scheduling control command, wherein the analytic command obtained by the analysis of the sub-thread comprises at least one of the following items: and inputting and outputting control instructions and task scheduling control instructions.
The robot motion control command is a command for controlling the motion of the robot. The robot motion control command includes at least one of a motion control command and a setting command of a parameter related to the motion control. For example, the robot motion command may include a linear motion command, a circular motion command, a joint motion command, and other motion control commands; and may also be a tool coordinate system setting instruction, a user coordinate system setting instruction, a global speed setting instruction, and the like. The input/output control command is a command for controlling an input/output device or an interface of the robot, and may be referred to as an IO control command. The task scheduling control instruction refers to an instruction executed at the task scheduling module. For example, the task scheduling control instruction may be a control instruction for a thread, such as wait, program pause, program resume, etc.; the task scheduling control instruction may also be an instruction to query relevant parameters of the thread, such as a clock fetch instruction.
Specifically, the analysis instruction obtained by the main thread analysis may include at least one of a robot motion control instruction, an input/output control instruction, and a task scheduling control instruction. The robot action instruction belongs to a serial execution instruction, when the target thread is all sub-threads, the analysis instruction obtained by sub-thread analysis does not include the robot action execution instruction, and specifically, the analysis instruction obtained by sub-thread analysis includes at least one of an input/output control instruction and a task scheduling control instruction.
The robot motion control instruction is obtained only by the main thread analysis, so that the robot only executes the motion control instruction obtained by the main thread analysis, the occurrence of robot motion errors caused by the fact that the robot simultaneously executes the motion instructions of the main thread and the sub thread is avoided, and the accuracy of multi-thread control is improved.
EXAMPLE III
Fig. 3 is a flowchart of a multithread control method according to a third embodiment of the present invention, where on the basis of the foregoing embodiment, the embodiment specifies an analysis instruction obtained by performing analysis as follows: obtaining a target instruction corresponding to the instruction scheduling authority from the analyzed instruction, and sending the target instruction to the control module; pausing the analysis operation of a thread corresponding to a non-scheduling instruction, wherein the analyzed analysis instruction comprises a target instruction and the non-scheduling instruction; executing the target instruction by the control module; releasing the instruction scheduling authority, establishing a corresponding relation between a new instruction scheduling authority and the instruction, and returning to execute the operation of obtaining the target instruction corresponding to the instruction scheduling authority in the analyzed instruction. As shown in fig. 3, the method includes:
s310, in the process of analyzing the first source code file through the main thread, the main thread detects the sub-thread creating code and creates the sub-thread.
And S320, analyzing a second source code file associated with the child thread creating code through the child thread.
S330, acquiring a target instruction corresponding to the instruction scheduling authority from the analyzed instruction, and sending the target instruction to the control module.
The analysis instruction obtained through analysis refers to an analysis instruction obtained through analysis of the first source code file or the second source code file. The parsing instruction obtained by parsing may include one instruction or may include a plurality of instructions. The number of instructions in the analyzed instruction obtained by analysis can be set according to actual conditions. The instruction scheduling authority refers to an authority for sending the analyzed instruction to the control module so that the control module can execute the analyzed instruction. The instruction scheduling authority can be distributed according to the priority between the main thread and the sub-thread, and the distribution rule of the instruction scheduling authority can also be set according to the actual situation. The target instruction refers to an analysis instruction for obtaining the instruction scheduling authority, and it can also be understood that the target instruction refers to an analysis instruction corresponding to the instruction scheduling authority, and at this time, a corresponding relationship between the analysis instruction and the instruction scheduling authority can be established. The control module receives the target commands serially, and it can also be understood that the control module can only receive one target command at the same time.
Specifically, the analysis instruction obtained by analyzing the first source code file or the analysis instruction obtained by analyzing the second source code file applies for an instruction scheduling authority respectively, the analysis instruction of the obtained instruction scheduling authority is determined as a target instruction, and therefore a corresponding relation between the analysis instruction and the instruction scheduling authority is established, and the target instruction is sent to the control module.
Illustratively, a first source code file in the main thread is analyzed to obtain a first analysis instruction, and a second source code file in the sub-thread is analyzed to obtain a second analysis instruction. If the first analysis instruction applies for instruction scheduling authority and the control module does not receive the target instruction, the first analysis instruction can obtain the instruction scheduling authority and is determined as the target instruction, at the moment, the corresponding relation between the first analysis instruction and the instruction scheduling authority is established, and the target instruction is sent to the control module; if the second analysis instruction applies for instruction scheduling authority and the control module does not receive the target instruction, the second analysis instruction can obtain the instruction scheduling authority and is determined as the target instruction, at the moment, the corresponding relation between the second analysis instruction and the instruction scheduling authority is established, and the target instruction is sent to the control module; if the first analysis instruction and the second analysis instruction simultaneously apply for instruction scheduling authority and the control module does not receive a target instruction, determining the priority of the first analysis instruction and the priority of the second analysis instruction according to the priority of the main thread and the priority of the sub-thread, obtaining the instruction scheduling authority by the analysis instruction with high priority, determining the analysis instruction as the target instruction, establishing the corresponding relation between the analysis instruction with high priority and the instruction scheduling authority at the moment, and sending the target instruction to the control module; if the first analysis instruction applies for instruction scheduling authority and the control module receives a target instruction, the first analysis instruction continuously waits for applying for instruction scheduling authority until the instruction scheduling authority can be obtained, the first analysis instruction is determined to be the target instruction, at the moment, a corresponding relation between the first analysis instruction and the instruction scheduling authority is established, and the target instruction is sent to the control module; if the second analysis instruction applies for instruction scheduling authority and the control module receives a target instruction, the second analysis instruction applies for the instruction scheduling authority once every threshold time interval until the instruction scheduling authority can be obtained, the instruction scheduling authority is determined to be the target instruction, at the moment, the corresponding relation between the second analysis instruction and the instruction scheduling authority is established, and the target instruction is sent to the control module, wherein the threshold time can be set according to actual conditions.
S340, suspending the analysis operation of the thread corresponding to the non-scheduling instruction, wherein the analysis instruction obtained by analysis comprises a target instruction and the non-scheduling instruction.
The non-scheduling instruction refers to an analysis instruction without instruction scheduling authority. Specifically, in the analyzed and obtained analysis instructions, the analysis instruction which obtains the instruction scheduling authority is determined as a target instruction, the analysis instruction which does not obtain the instruction authority is determined as a non-scheduling instruction, the thread where the non-scheduling instruction is located suspends the analysis operation until the non-scheduling instruction obtains the instruction scheduling authority and sends the instruction scheduling authority to the control module, and then the analysis operation is resumed.
S350, executing the target instruction through the control module
Specifically, the control module executes the target instruction after receiving the target instruction. Wherein the control module executes the target instructions serially.
And S360, releasing the instruction scheduling authority, establishing a corresponding relation between a new instruction scheduling authority and the instruction, and returning to execute the operation of obtaining the target instruction corresponding to the instruction scheduling authority in the analyzed instruction.
The new correspondence between the instruction scheduling authority and the instruction refers to the correspondence between the instruction scheduling authority and the instruction, which is formed again after the instruction scheduling authority is obtained by the non-scheduling instruction. Specifically, after the control module executes the target instruction, the target instruction releases the instruction scheduling authority, so that the control module can receive a new target instruction. After the instruction scheduling authority is released, the non-scheduling instruction can acquire the instruction scheduling authority to establish a corresponding relationship between a new instruction scheduling authority and the instruction, and the step S330 is returned until all the analysis instructions are sent to the control module.
Optionally, the instruction scheduling permission may also be released after the target instruction is sent, and an operation of the target instruction corresponding to the new instruction scheduling permission is established, so that efficiency of sending the target instruction to the control module may be improved, and thus, efficiency of the control module executing the target instruction is improved.
According to the technical scheme of the embodiment of the invention, the target instruction corresponding to the instruction scheduling authority is obtained from the analytic instructions obtained by analysis and is sent to the control module, so that the analytic instructions can be serially sent to the control module according to a certain sequence, congestion is avoided when the target instruction is sent, the sending efficiency of the target instruction is improved, the accuracy of the control module in executing the target instruction is improved, the non-scheduling instruction can be ensured to obtain the instruction scheduling authority in time by suspending the analytic operation of the thread corresponding to the non-scheduling instruction, and the efficiency of sending the non-scheduling instruction to the control module is improved.
On the basis of the above embodiment, the method further includes: acquiring an instant control instruction; the establishing of the corresponding relationship between the new instruction scheduling authority and the instruction includes: and establishing a corresponding relation between the instruction scheduling authority and the instant control instruction.
The instant control instruction is an instruction for controlling a thread in the running process of the thread. The control of starting, stopping, suspending, recovering, debugging and the like of the thread can be realized through the instant control instruction. By establishing the corresponding relation between the new instruction scheduling authority and the instant control instruction, the instant control instruction of the instruction scheduling authority can be determined.
Specifically, each thread acquires an instant control instruction during running, and establishes a corresponding relationship between the instruction scheduling authority and the instant control instruction according to the instant control instruction. The corresponding relation between the instruction scheduling authority and the instant control instruction can be established according to the priority between the instant control instruction and the analysis instruction obtained by analysis. Illustratively, on the basis of the foregoing example, the priority of the instant control instruction is higher than that of the analysis instruction obtained by analysis, and when the instant control instruction is obtained, if the control module receives no target instruction, the instant control instruction obtains an instruction scheduling authority, and a corresponding relationship between the instruction scheduling authority and the instant control instruction is established; if the control module receives the target instruction, after the control module receives the target instruction, the instant control instruction obtains an instruction scheduling authority, and a corresponding relation between the instruction scheduling authority and the instant control instruction is established; if the instant control instruction and the analyzed instruction obtained by analysis simultaneously apply for instruction scheduling authority, the instant control instruction preferentially obtains the instruction scheduling authority, and the corresponding relation between the instruction scheduling authority and the instant control instruction is established.
By acquiring the instant control instruction, the corresponding relation between the instruction scheduling authority and the instant control instruction is established, the instant control instruction can be preferentially executed, the execution efficiency of the instant control instruction is improved, and each thread can be ensured to react to the instant control instruction in time.
On the basis of the above embodiment, the analysis instruction obtained by the main thread analysis and the analysis instruction obtained by the sub thread analysis can be executed independently.
The independent execution means that the analytic instruction obtained by the main thread analysis and the analytic instruction obtained by the sub-thread analysis have no dependency relationship and can be executed independently. It is also understood that the first source code file and the second source code file are independent job files.
The analysis instruction obtained by the main thread analysis and the analysis instruction obtained by the sub thread analysis are executed independently, so that the dependency relationship between the main thread and the sub thread is reduced, the analysis instruction obtained by the sub thread analysis can be executed in the main thread, and the flexibility of multi-thread control is improved.
It will be appreciated that in either the main thread or the sub-thread, the resolved instructions need to be executed in the order resolved in the thread.
Furthermore, the analysis instruction obtained by the main thread analysis and the analysis instruction obtained by the sub-thread analysis can be executed independently, so that the first source code file can be used as a second source code to run in the sub-thread, and the second source code file can also be used as a first source code file to run in the main thread. Meanwhile, the parsing methods of the first source code file and the second source code file are the same, so that the second source code file does not need to be reset, the setting complexity of the script parser of each thread is simplified, and the flexibility of multi-thread control is improved.
Example four
Fig. 4a is a flowchart illustrating execution control of a main thread in a multithread control method according to a fourth embodiment of the present invention. The execution control flow chart provided by the embodiment of the invention is suitable for the situation of realizing robot control, and can be applied to a robot control system based on a multi-thread control method. As shown in fig. 4a, the execution control flow of the main thread is as follows:
and initializing the robot control system when the system starts to run. And the task scheduling module judges whether the control demonstrator module issues an instant control instruction or not. If the instant control instruction exists, the instant control instruction is received, the instant control instruction applies for instruction scheduling authority, after the instant control instruction obtains the instruction scheduling authority, the task scheduling module sends the instant control instruction to the control module, the control module executes the instant control instruction, and meanwhile the instant control instruction releases the instruction scheduling authority. And if the instant control instruction does not exist, the task scheduling module judges whether a first source code file exists or not.
And if the first source code file exists, the script parser corresponding to the main thread parses the first source code file to obtain a parsing instruction. The analysis instruction applies for instruction scheduling authority, after the analysis instruction obtains the instruction scheduling authority, the task scheduling module sends the analysis instruction to the control module, and the control module executes the analysis instruction. The method comprises the steps that a first source code judges whether an analysis instruction obtained by analyzing a sub-thread creation code exists or not in the analysis process, if yes, the sub-thread is created according to the analysis instruction obtained by analyzing the sub-thread creation code, the sub-thread is operated, and after creation is completed, the analysis instruction obtained by analyzing the sub-thread creation code releases an instruction scheduling authority; if not, the resolving instruction directly releases the instruction scheduling authority.
After the instruction scheduling authority is released, the robot synchronizes the state of the robot according to the instruction executed by the control module, and returns to the step of judging whether the instant control instruction exists or not.
Alternatively, the child thread creation code may be thread _ handle ═ thread _ create ("/path/to/thread/file. A return value may be set in the child thread creation code, which may be a thread handle to indicate the state of the thread. Illustratively, the state of a thread may include creation, in-execution, and completion of execution, among others. The control operations of canceling, synchronizing or suspending the thread can be realized through the thread handle. Illustratively, when a child thread creation fails (the path of the second source code file cannot be loaded normally or the number of child threads exceeds a limit), an error code-1 is returned as the thread handle, otherwise a non-negative number is returned as the thread handle.
Optionally, a child thread cancellation code may be set in the first source code file to cancel the child thread. For example, the child thread cancellation code may be thread _ destroy (thread _ handle), after an analysis instruction obtained by analyzing the child thread cancellation code is executed, the child thread corresponding to the child thread cancellation code is immediately terminated to run, information associated with the child thread is retrieved by the task scheduling module, and if the child thread corresponding to the child thread cancellation code does not exist, an error is reported. The parameter in the child thread cancel code may be a handle returned by an analysis instruction obtained by analyzing the child thread creation code during execution, or may be a path, a name, or the like of the source code file.
Optionally, the task scheduling module may establish a sub-thread list for storing an analysis instruction generated after the second source file code in the sub-thread is analyzed, and the sub-thread list is empty initially and is empty after the program execution is finished. When the script resolver resolves the sub-thread creating instruction, one sub-thread is created by the task scheduling module and added to the thread list, and another script resolver is created and associated with the thread handle.
Optionally, for an instruction with mandatory execution timing, synchronization between the main thread and the sub-thread may be implemented in the main thread through a synchronization code, for example, the synchronization code may be: thread _ join, where the parameter of the synchronization code may be the handle of the child thread. When the main thread resolves the synchronous code, the main thread needs to query the state of the sub-thread specified by the handle in real time, and the resolving is continued until the state of the sub-thread is the completion of the execution.
Optionally, to facilitate data interaction between multiple threads, the source code file may declare global variables using global keywords. The global variable supports multiple basic data types such as character strings, arrays, floating point numbers, shaping and the like, and is stored in a shared memory area accessible to all threads. Since each thread is involved in accessing a global variable, protection of critical areas is provided for the global variable. It will be appreciated that when any one of the threads accesses the global variable, all other threads will be in a wait state until the thread accessing the global variable completes the access and exits the critical area. For example, the code that provides protection of critical regions for global variables may be: the thread _ entry _ critical () is used to enter the critical region, i.e., to access the global variable, and the thread _ exit _ critical () is used to exit the critical region, i.e., to access the global variable completion. Since entering the critical region is equivalent to exclusive operation permission, in order to ensure normal operation of other threads, it is required that the instructions executed during entering and exiting the critical region are as short as possible.
Fig. 4b is a flowchart illustrating execution control of a sub-thread in a multithread control method according to a fourth embodiment of the present invention. As shown in fig. 4b, the execution control flow of the child thread is as follows:
and after the sub-thread is created, initializing the sub-thread. Firstly, a task scheduling module judges whether an instant control instruction is available to realize external termination or pause control on a sub-thread, if so, the sub-thread is ended, and if not, a script parser corresponding to the sub-thread parses a second source code file to generate a parsing instruction. And analyzing the instruction to apply for the instruction scheduling authority, after obtaining the instruction scheduling authority, sending the instruction scheduling authority to the control module by the task scheduling module, and simultaneously analyzing the instruction to release the instruction scheduling authority. The task scheduling module judges whether the execution of the sub-thread is completed or not, and can also be understood as judging whether all the analysis instructions generated by the analysis of the second source code file are sent to the control module or not. If yes, the sub-thread is ended, if not, the sub-thread returns to the step of judging whether an instant control instruction is provided for external termination or suspension control of the sub-thread.
According to the technical scheme, if a sub-thread creating code is detected in the process of analyzing a first source code file by a main thread, the sub-thread is created, so that the sub-thread is automatically created in the process of analyzing the main thread, a second source code file associated with the sub-thread creating code is analyzed by the sub-thread, and an analysis instruction obtained through analysis is executed, so that the sub-thread can independently analyze the second source code file associated with the sub-thread creating code, the parallel analysis of the sub-thread and the main thread is realized, the analysis efficiency is improved, and the multithreading control efficiency is improved.
EXAMPLE five
Fig. 5 is a schematic structural diagram of a multithread control apparatus according to a fifth embodiment of the present invention. As shown in fig. 5, the apparatus includes: a thread creation module 501, a sub-thread parsing module 502, and an instruction execution module 503.
The thread creating module 501 is configured to, in a process of analyzing a first source code file through a main thread, detect a sub-thread creating code by the main thread, and create a sub-thread;
a sub-thread analyzing module 502, configured to analyze, by a sub-thread, a second source code file associated with the sub-thread creation code;
and the instruction execution module 503 is configured to execute the analysis instruction obtained by the analysis.
According to the technical scheme of the embodiment of the invention, if the creation code of the sub-thread is detected in the process of analyzing the first source code file by the main thread, the sub-thread is created, so that the sub-thread is automatically created in the process of analyzing the main thread, the sub-thread analyzes the second source code file associated with the creation code of the sub-thread, and the analysis instruction obtained by analysis is executed, so that the sub-thread can independently analyze the second source code file associated with the creation code of the sub-thread, the parallel analysis of the sub-thread and the main thread is realized, the analysis efficiency is improved, and the multithreading control efficiency is improved.
Optionally, the apparatus further comprises:
a code skipping module, configured to skip parsing the object code by a target thread if the target thread detects the object code, where the object code includes at least one of: the child thread creates a code and a code corresponding to the instruction executed in series; wherein the number of the sub-threads is at least one, and the target thread includes: all threads except the determined one of the main thread and each of the sub-threads.
Optionally, the target thread includes: all of the child threads.
Optionally, the instruction executing module 503 includes:
the target instruction sending unit is used for acquiring a target instruction corresponding to the instruction scheduling authority in the analyzed instruction and sending the target instruction to the control module;
the analysis suspending unit is used for suspending the analysis operation of the thread corresponding to the non-scheduling instruction, and the analysis instruction obtained by analysis comprises a target instruction and the non-scheduling instruction;
a target instruction execution unit for executing the target instruction by the control module;
and the corresponding relation establishing unit is used for releasing the instruction scheduling authority, establishing the corresponding relation between the new instruction scheduling authority and the instruction, and returning to execute the operation of acquiring the target instruction corresponding to the instruction scheduling authority in the analyzed instruction.
Optionally, the apparatus further comprises:
the instant control instruction acquisition module is used for acquiring an instant control instruction;
the correspondence relationship establishing unit is specifically configured to:
and establishing a corresponding relation between the instruction scheduling authority and the instant control instruction.
Optionally, the analysis instruction obtained by the main thread analysis and the analysis instruction obtained by the sub-thread analysis may be executed independently.
Optionally, the analysis instruction obtained by the main thread analysis includes at least one of the following items: the robot comprises a robot action control command, an input/output control command and a task scheduling control command, wherein the analytic command obtained by the analysis of the sub-thread comprises at least one of the following items: and inputting and outputting control instructions and task scheduling control instructions.
The multithreading control device provided by the embodiment of the invention can execute the multithreading control method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
EXAMPLE six
FIG. 6 illustrates a schematic structural diagram of an electronic device 10 that may be used to implement an embodiment of the present invention. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 6, the electronic device 10 includes at least one processor 11, and a memory communicatively connected to the at least one processor 11, such as a Read Only Memory (ROM)12, a Random Access Memory (RAM)13, and the like, wherein the memory stores a computer program executable by the at least one processor, and the processor 11 can perform various suitable actions and processes according to the computer program stored in the Read Only Memory (ROM)12 or the computer program loaded from a storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data necessary for the operation of the electronic apparatus 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
A number of components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, or the like; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, or the like. The processor 11 performs the various methods and processes described above, such as a multi-threaded control method.
In some embodiments, the multithreading control method may be implemented as a computer program tangibly embodied in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the multithreading control method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the multi-threaded control method by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be performed. A computer program can execute entirely on a machine, partly on a machine, as a stand-alone software package partly on a machine and partly on a remote machine or entirely on a remote machine or server.
In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the electronic device. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), blockchain networks, and the internet.
The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The Server may be a cloud Server, which is also called a cloud computing Server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of large management difficulty and weak service extensibility in the conventional physical host and VPS (Virtual Private Server) service.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present invention may be executed in parallel, sequentially, or in different orders, and are not limited herein as long as the desired result of the technical solution of the present invention can be achieved.
The above-described embodiments should not be construed as limiting the scope of the invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A multithread control method, comprising:
in the process of analyzing a first source code file through a main thread, the main thread detects a sub-thread creation code and creates a sub-thread;
analyzing a second source code file associated with the child thread creation code through the child thread;
and executing the analysis instruction obtained by analysis.
2. The method of claim 1, further comprising:
skipping parsing of the object code by the object thread in the event that the object code is detected by the object thread, the object code including at least one of: the child thread creates a code and a code corresponding to the instruction executed in series;
wherein the number of the sub-threads is at least one, and the target thread includes: all threads except the determined one of the main thread and each of the sub-threads.
3. The method of claim 2, wherein the target thread comprises: all of the child threads.
4. The method of claim 1, wherein executing the parsed instructions comprises:
obtaining a target instruction corresponding to the instruction scheduling authority from the analyzed instruction, and sending the target instruction to the control module;
suspending the analysis operation of a thread corresponding to a non-scheduling instruction, wherein the analysis instruction obtained by analysis comprises a target instruction and the non-scheduling instruction;
executing the target instruction by the control module;
releasing the instruction scheduling authority, establishing a corresponding relation between a new instruction scheduling authority and the instruction, and returning to execute the operation of obtaining the target instruction corresponding to the instruction scheduling authority in the analyzed instruction.
5. The method of claim 1, further comprising:
acquiring an instant control instruction;
the establishing of the corresponding relationship between the new instruction scheduling authority and the instruction includes:
and establishing a corresponding relation between the instruction scheduling authority and the instant control instruction.
6. The method of claim 1, wherein the resolved instruction resolved by the main thread and the resolved instruction resolved by the sub-thread are executable independently of each other.
7. The method of claim 3, wherein the resolving instruction resolved by the main thread comprises at least one of: the robot comprises a robot action control command, an input/output control command and a task scheduling control command, wherein the analytic command obtained by the analysis of the sub-thread comprises at least one of the following items: and inputting and outputting control instructions and task scheduling control instructions.
8. A multithread control apparatus, comprising:
the thread creating module is used for detecting the sub-thread creating code by the main thread and creating the sub-thread in the process of analyzing the first source code file by the main thread;
the child thread analysis module is used for analyzing a second source code file associated with the child thread creation code through the child thread;
and the instruction execution module is used for executing the analysis instruction obtained by analysis.
9. An electronic device, characterized in that the electronic device comprises:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the multithreading control method of any of claims 1-7.
10. A computer-readable storage medium storing computer instructions for causing a processor to implement the multithreading control method of any one of claims 1-7 when executed.
CN202210657503.0A 2022-06-10 2022-06-10 Multithreading control method, device, equipment and storage medium Pending CN115080155A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210657503.0A CN115080155A (en) 2022-06-10 2022-06-10 Multithreading control method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210657503.0A CN115080155A (en) 2022-06-10 2022-06-10 Multithreading control method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115080155A true CN115080155A (en) 2022-09-20

Family

ID=83252081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210657503.0A Pending CN115080155A (en) 2022-06-10 2022-06-10 Multithreading control method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115080155A (en)

Similar Documents

Publication Publication Date Title
CN110806923B (en) Parallel processing method and device for block chain tasks, electronic equipment and medium
RU2286595C2 (en) Method for realization of computer multi-task system through virtual organization of thread processing
US10185644B2 (en) Service implementation based debugger for service oriented architecture projects
CN110673936B (en) Breakpoint continuous operation method and device for arrangement service, storage medium and electronic equipment
US20080244592A1 (en) Multitask processing device and method
KR20120139403A (en) Device and method for executing and managing job file of game server
CN112925587A (en) Method and apparatus for initializing applications
CN111475137A (en) Method, system and equipment for predicting software development requirements
CN114428674A (en) Task scheduling method, device, equipment and storage medium
KR20110080073A (en) Coverage apparatus and method for testing multi-thread environment
CN112214416A (en) Method and device for debugging small program, electronic equipment and storage medium
CN112328225A (en) Page operation method and operation system thereof
CN115080155A (en) Multithreading control method, device, equipment and storage medium
Arnaud et al. An illustrative use case of the DIVERSITY platform based on UML interaction scenarios
US11550693B2 (en) Data logger for a real-time robotic control system
EP3819758A2 (en) Instruction executing method and apparatus, electronic device, and computer-readable storage medium
JP6510430B2 (en) Trace data editing apparatus and method
CN115033374A (en) Task-to-thread matching method of multi-core programmable controller
CN114310879A (en) Robot control method, control cabinet and system
Reiss Plugging in and into Code Bubbles
Neuser A GUI for Real-time Visualization of On-line Model Checking with UPPAAL
CN117290113B (en) Task processing method, device, system and storage medium
US20220374331A1 (en) Method of debugging applet, electronic device, and storage medium
CN114860455B (en) Request processing method, device, equipment and storage medium
Nhat-Hoa et al. Sspinja: Facilitating schedulers in model checking

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: 200126 building 6, 646 Jianchuan Road, Minhang District, Shanghai

Applicant after: Jieka Robot Co.,Ltd.

Address before: 200126 building 6, 646 Jianchuan Road, Minhang District, Shanghai

Applicant before: SHANGHAI JAKA ROBOTICS Ltd.

CB02 Change of applicant information