CN109522128B - Segmented multithreading task execution method and device - Google Patents
Segmented multithreading task execution method and device Download PDFInfo
- Publication number
- CN109522128B CN109522128B CN201811390803.7A CN201811390803A CN109522128B CN 109522128 B CN109522128 B CN 109522128B CN 201811390803 A CN201811390803 A CN 201811390803A CN 109522128 B CN109522128 B CN 109522128B
- Authority
- CN
- China
- Prior art keywords
- execution
- threads
- stages
- main thread
- module
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
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)
- Multi Processors (AREA)
Abstract
The invention provides a segmented multithreading task execution method and a device, wherein the method comprises the following steps: acquiring the core number of a CPU; creating and distributing corresponding number of execution threads according to the acquired CPU core number, and setting the execution threads to be in a task waiting state; dividing one frame execution period of a main thread of a program into a plurality of execution stages, wherein each execution stage comprises a plurality of execution threads; controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads; and controlling the execution phases to execute in sequence until the main thread is finished. Through the whole process of the main thread control program logic, the correctness of logic execution is ensured, similar execution thread tasks are executed in parallel at each stage, the logic processing capacity is greatly improved, the number of persons on line borne by a single server is increased, and the development cost is effectively reduced.
Description
Technical Field
The invention relates to the technical field of computers, in particular to a segmented multithreading task execution method and device.
Background
At present, large-scale multi-player online games start to use world scenes and physical collision detection, so that the performance requirements on a server are higher and higher, a multi-thread mechanism is adopted, multi-core calculation of a computer processor can be fully utilized, the performance is effectively improved, but multi-thread inevitably faces the problem of simultaneously reading and writing the same memory, unexpected errors are brought to developers in the normal development process, and the development efficiency and the development quality are greatly reduced.
How to effectively improve the performance of the server without reducing the development efficiency and the development quality of developers is a problem to be solved by those skilled in the art.
Disclosure of Invention
In order to solve the above problems, embodiments of the present invention provide a method and an apparatus for executing a segmented multi-threaded task.
In a first aspect, an embodiment of the present invention provides a method for executing a segmented multithreading task, where the method includes:
acquiring the core number of a CPU when a program is started;
creating and distributing corresponding number of execution threads according to the acquired CPU core number, and setting the execution threads to be in a task waiting state;
dividing one frame execution period of a main thread of a program into a plurality of execution stages, wherein each execution stage comprises a plurality of execution threads;
controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads;
and controlling the execution phases to execute in sequence until the main thread is finished.
Optionally, in this embodiment, the controlling the multiple execution phases to be executed in sequence until the main thread is ended includes:
prioritizing the plurality of execution phases, the plurality of execution phases executing serially in a priority order.
Optionally, in this embodiment, the method further includes:
and during the parallel execution of the multiple execution threads in the same execution stage, enabling the multiple execution threads to perform information interaction in a remote procedure call mode.
Optionally, in this embodiment, the method further includes:
the agent packaged by the weak reference mode carries out data transmission among threads, and when a plurality of execution threads are interacted, whether the data pointed by the original pointer is released or not is judged by judging whether the original pointer is nullprt or not after the original pointer is obtained.
Optionally, in this embodiment, if the data after the execution of the first execution phase may affect the execution of the second execution phase, the priority of the first execution phase is higher than that of the second execution phase.
In a second aspect, an embodiment of the present invention further provides a segmented multithreading task execution apparatus, where the apparatus includes:
the acquisition module is used for acquiring the core number of the CPU when the program is started;
the thread allocation module is used for creating and allocating execution threads with corresponding quantity according to the acquired CPU core number and setting the execution threads into a task waiting state;
the main thread segmentation module is used for dividing one frame execution cycle of a main thread of a program into a plurality of execution stages, and each execution stage comprises a plurality of execution threads;
the parallel execution module is used for controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads;
and the serial execution module is used for controlling the execution of the multiple execution stages according to the sequence until the main thread is finished.
Optionally, in this embodiment, the serial execution module includes:
and the sequencing submodule is used for carrying out priority sequencing on the execution stages, and the execution stages are executed in series according to the priority sequence.
Optionally, in this embodiment, the apparatus further includes:
and the interaction module is used for enabling the multiple execution threads to carry out information interaction in a remote procedure call mode during the parallel execution of the multiple execution threads in the same execution stage.
Optionally, in this embodiment, the apparatus further includes:
and the data transmission module is used for transmitting data among threads through the agent packaged in the weak reference mode, and judging whether the data pointed by the original pointer is released or not by judging whether the original pointer is nullprt or not after the original pointer is obtained when a plurality of execution threads are interacted.
Optionally, in this embodiment, if the data after the execution of the first execution phase may affect the execution of the second execution phase, the priority of the first execution phase is higher than that of the second execution phase.
Compared with the prior art, the embodiment of the invention has the following beneficial effects:
the invention provides a segmented multithreading task execution method and a device, wherein the method comprises the following steps: acquiring the core number of a CPU; creating and distributing corresponding number of execution threads according to the acquired CPU core number, and setting the execution threads to be in a task waiting state; dividing one frame execution period of a main thread of a program into a plurality of execution stages, wherein each execution stage comprises a plurality of execution threads; controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads; and controlling the execution phases to execute in sequence until the main thread is finished. Through the whole process of the main thread control program logic, the correctness of logic execution is ensured, similar execution thread tasks are executed in parallel at each stage, the logic processing capacity is greatly improved, the number of persons on line borne by a single server is increased, and the development cost is effectively reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
FIG. 1 is a flowchart of a method for executing a segmented multithreading task according to an embodiment of the present application;
FIG. 2 is a second flowchart of a segmented multithreading task execution method according to an embodiment of the present application;
FIG. 3 is a block diagram illustrating a multi-threaded task execution apparatus according to an embodiment of the present disclosure;
fig. 4 is a schematic block diagram of a structure of an electronic device provided in this application for implementing the foregoing embodiments.
Icon: 300-segmented multithreading task execution device; 301-an obtaining module; 302-thread allocation module; 303-main thread segmentation module; 304-a parallel execution module; 305-a serial execution module; 306-an interaction module; 307-a data transfer module; 400-an electronic device; 410-a bus; 420-a processor; 430-storage medium; 440-bus interface; 450-a network adapter; 460-user interface.
Detailed Description
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. The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
At present, most game servers adopt a multi-process single-thread scheme to separate some game service modules so as to reduce the pressure of main game logic service, and part of the game servers also adopt a multi-thread scheme, so that the game servers perform single thread processing on some special functions, such as network, database operation, file reading and writing and the like, and few parts adopt a complete multi-thread scheme.
The existing single-thread or partial multi-thread scheme cannot cope with the pressure brought to the server by the high number of online people at the same time, particularly the pressure brought to the server by the high number of online people in the world layout, the Player and Non-Player characters (Non-Player Character, NPC for short) in the scene are likely to break through one hundred thousand, and if the complete multi-thread scheme is adopted, the requirement on developers is high, and the development cost is naturally high.
In order to overcome the above-mentioned drawbacks of the prior art, the inventors have studied to provide the following embodiments to provide a solution.
Referring to fig. 1, fig. 1 is a flowchart of a segmented multithreading task execution method according to an embodiment of the present application, including the following steps:
in step S110, the CPU core count is acquired when the program is started.
In this embodiment, before further describing this step, a description is given of the number of cores of a CPU, a program needs to run on an electronic device, where the Central Processing Unit (CPU) is one of main components of the electronic device, and the core of the CPU is a core chip in the middle of the CPU, is made of monocrystalline silicon, is used to complete all calculations, receive/store commands, process data, and the like, and is a digital Processing core, which is the most important component of the CPU. The number of cores of the CPU is the number of core chips included in the CPU.
When the program is started, the core number of the CPU is obtained through the corresponding program code.
Step S120, creating and distributing corresponding number of execution threads according to the acquired CPU core number, and setting the execution threads to be in a task waiting state.
In this embodiment, after the number of cores of the CPU is obtained, a certain number of execution threads are created according to the number of cores, for example, when the CPU is dual-core, the number of created execution threads is 2, and of course, the number of execution threads may also be smaller than the number of cores of the CPU. After the execution thread is created, the execution thread is set to a task waiting state, so that the execution thread can be executed immediately after receiving a command in the subsequent step.
In step S130, a frame execution cycle of the main thread of the program is divided into a plurality of execution phases, and each execution phase includes a plurality of execution threads.
In this embodiment, when a program starts, a thread, which is the main thread of the program, runs immediately. The main thread exists all the time in the process of program operation, a frame execution period of the main thread is divided into a plurality of execution stages to be executed, serial execution is carried out among the execution stages, the next execution stage is executed only after the execution of the previous execution stage is completed, and the main thread is executed in a serial manner in a segmenting mode, so that the correct operation of the main thread can be guaranteed, and the condition of operation errors is prevented.
Step S140, controlling the multiple execution threads to execute in parallel, so as to complete the task of the execution stage corresponding to the execution thread.
In this embodiment, each execution phase includes a plurality of execution threads, where the number of the execution threads is the number of the execution threads created in advance in step S120, and the thread tasks of the plurality of execution threads are similar, and the parallel execution mode greatly improves the logic processing capability. When the execution of each execution thread in the execution phase is completed, the execution phase is meant to be completed.
And step S150, controlling the execution stages to execute in sequence until the main thread is finished.
In this embodiment, the end of the main thread is the exit of the program, during the running of the program, the multiple execution stages are executed in series in sequence, and the next execution stage is executed only after all the execution threads in the previous execution stage are executed, until the program exits.
Optionally, in this embodiment, the step S150 of controlling the multiple execution stages to execute in sequence until the main thread is finished includes:
prioritizing the plurality of execution phases, the plurality of execution phases executing serially in a priority order.
In this embodiment, in order to ensure that each execution stage is executed smoothly and avoid the occurrence of execution errors, the execution stages need to be prioritized, and each execution stage is executed according to the priority order in the serial execution process, so as to avoid the occurrence of logic confusion.
Referring to fig. 2, fig. 2 is a second flowchart of a segmented multithreading task execution method according to an embodiment of the present application, in which the method further includes the following steps:
step S160, during the parallel execution of the multiple execution threads in the same execution phase, the multiple execution threads perform information interaction in a remote procedure call manner.
In this embodiment, a plurality of execution threads in the same execution phase execute in parallel, so as to improve the operating efficiency, and in order to enable interaction among the parallel execution threads, information interaction among the execution threads is performed in a Remote Procedure Call (RPC) manner. For example, when a player kills an NPC, the player executes a killing thread, and finally calls an injury or death thread of the NPC through the RPC, the injury or death logic of the NPC is called in the execution period of the thread task of the NPC, and if the player needs to be informed, data is transmitted to the player through the RPC callback.
Referring to fig. 2, in the present embodiment, the method further includes the following steps:
step S170, the agent packaged by the weak reference mode carries out data transmission among threads, and when a plurality of execution threads interact, whether the data pointed by the original pointer is released is judged by judging whether the original pointer is nullprt or not after the original pointer is obtained.
In this embodiment, pointer data needs to be transferred between tasks of execution threads, and it may happen that data pointed by a pointer is already released during the transfer process, and if the data pointed by the original pointer is directly used, normal execution of the main thread is affected. In order to solve the above problem, agent packaged in a weak reference manner is used to transfer pointer object data between threads, and after an original pointer is obtained, whether the data is released is judged by whether the pointer is nullptr. If the data is released, an indication value is returned to indicate that the current data is invalid, and the next calling is not carried out, so that the normal execution of the main thread is ensured.
In this embodiment, the priority of the execution phases means that if the data after the execution of the first execution phase affects the execution of the second execution phase, the priority of the first execution phase is higher than that of the second execution phase. When executing, serial execution is performed according to priority.
Referring to fig. 3, fig. 3 is a block-type multithreading task execution apparatus 300 according to an embodiment of the present invention, where the apparatus 300 includes:
an obtaining module 301, configured to obtain a CPU core number when a program is started;
a thread allocation module 302, configured to create and allocate execution threads of a corresponding number according to the acquired number of CPU cores, and set the execution threads to a task waiting state;
a main thread segmentation module 303, configured to divide a frame execution cycle of a main thread of a program into multiple execution phases, where each execution phase includes multiple execution threads;
a parallel execution module 304, configured to control the multiple execution threads to execute in parallel, so as to complete a task of an execution stage corresponding to the execution thread;
a serial execution module 305, configured to control the multiple execution stages to execute in sequence until the main thread is finished.
In this embodiment, the serial execution module includes:
and the sequencing submodule is used for carrying out priority sequencing on the execution stages, and the execution stages are executed in series according to the priority sequence.
Referring to fig. 3, in the present embodiment, the apparatus 300 further includes:
the interaction module 306 is configured to enable the multiple execution threads to perform information interaction in a remote procedure call manner during parallel execution of the multiple execution threads in the same execution stage.
Referring to fig. 3, in the present embodiment, the apparatus 300 further includes:
and a data transfer module 307, configured to perform data transfer between threads through the agent encapsulated in the weak reference manner, and determine whether data pointed by the original pointer is released by determining whether the obtained original pointer is nullprt after multiple execution threads interact with each other.
It can be understood that the specific operation method of each functional module in this embodiment may refer to the detailed description of the corresponding step in the foregoing method embodiment, and is not repeated herein.
Referring to fig. 4, fig. 4 is a schematic block diagram illustrating a structure of an electronic device 400 according to the present application for implementing the foregoing embodiments. As shown in fig. 4, electronic device 400 may be implemented by bus 410 as a general bus architecture. Bus 410 may include any number of interconnecting buses and bridges depending on the specific application of electronic device 400 and the overall design constraints. Bus 410 couples various circuits together including processor 420, storage medium 430, and bus interface 440. Alternatively, the electronic apparatus 400 may connect a network adapter 450 or the like via the bus 410 using the bus interface 440. The network adapter 450 may be used to implement signal processing functions of the physical layer in the electronic device 400 and to implement transmission and reception of radio frequency signals through an antenna. The user interface 460 may connect external devices such as: a keyboard, a display, a mouse or a joystick, etc. The bus 410 may also connect various other circuits such as timing sources, peripherals, voltage regulators, or power management circuits, which are well known in the art, and therefore, will not be described in detail.
Alternatively, electronic device 400 may be configured as a general-purpose processing system, such as commonly referred to as a chip, including one or more microprocessors that provide processing functionality, and an external memory that provides at least a portion of storage medium 430, all coupled together with other support circuits through an external bus architecture.
Alternatively, the electronic device 400 may be implemented using: an ASIC (application specific integrated circuit) having a processor 420, a bus interface 440, a user interface 460; and at least a portion of the storage medium 430 integrated in a single chip, or the electronic device 400 may be implemented using: one or more FPGAs (field programmable gate arrays), PLDs (programmable logic devices), controllers, state machines, gate logic, discrete hardware components, any other suitable circuitry, or any combination of circuitry capable of performing the various functions described throughout this application.
Among other things, the processor 420 is responsible for managing the bus 410 and general processing (including the execution of software stored on the storage medium 430). Processor 420 may be implemented using one or more general-purpose processors and/or special-purpose processors. Examples of processor 420 include microprocessors, microcontrollers, DSP processors, and other circuits capable of executing software. Software should be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
The storage medium 430 is shown separate from the processor 420 in fig. 4, however, it will be readily apparent to those skilled in the art that the storage medium 430, or any portion thereof, may be located outside of the electronic device 400. Storage medium 430 may include, for example, a transmission line, a carrier waveform modulated with data, and/or a computer product separate from the wireless node, all of which may be accessed by processor 420 through bus interface 440. Alternatively, the storage medium 430, or any portion thereof, may be integrated into the processor 420, such as may be a cache and/or general purpose registers.
The processor 420 may execute the above embodiments, specifically, the storage medium 430 may store the continuous grid object generating apparatus 300 therein, and the processor 420 may be configured to execute the grid object generating apparatus 300.
In summary, the present invention provides a segmented multithreading task execution method and apparatus, where the method includes: acquiring the core number of a CPU; creating and distributing corresponding number of execution threads according to the acquired CPU core number, and setting the execution threads to be in a task waiting state; dividing one frame execution period of a main thread of a program into a plurality of execution stages, wherein each execution stage comprises a plurality of execution threads; controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads; and controlling the execution phases to execute in sequence until the main thread is finished. Through the whole process of the main thread control program logic, the correctness of logic execution is ensured, similar execution thread tasks are executed in parallel at each stage, the logic processing capacity is greatly improved, the number of persons on line borne by a single server is increased, and the development cost is effectively reduced.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims (8)
1. A method for segmented multithreaded task execution, the method comprising:
acquiring the core number of a CPU when a program is started;
creating and distributing corresponding number of execution threads according to the acquired CPU core number, and setting the execution threads to be in a task waiting state;
dividing one frame execution period of a main thread of a program into a plurality of execution stages, wherein each execution stage comprises a plurality of execution threads;
controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads;
controlling the execution stages to execute in sequence until the main thread is finished;
wherein the controlling the plurality of execution phases to execute in sequence until the main thread ends comprises: prioritizing the plurality of execution phases, the plurality of execution phases executing serially in a priority order.
2. The method of claim 1, further comprising:
and during the parallel execution of the multiple execution threads in the same execution stage, enabling the multiple execution threads to perform information interaction in a remote procedure call mode.
3. The method of claim 1, further comprising:
the agent packaged by the weak reference mode carries out data transmission among threads, and when a plurality of execution threads are interacted, whether the data pointed by the original pointer is released or not is judged by judging whether the original pointer is nullprt or not after the original pointer is obtained.
4. The method of claim 1, comprising:
if the data after the execution of the first execution phase affects the execution of the second execution phase, the priority of the first execution phase is higher than that of the second execution phase.
5. A segmented multithreaded task execution device, the device comprising:
the acquisition module is used for acquiring the core number of the CPU when the program is started;
the thread allocation module is used for creating and allocating execution threads with corresponding quantity according to the acquired CPU core number and setting the execution threads into a task waiting state;
the main thread segmentation module is used for dividing one frame execution cycle of a main thread of a program into a plurality of execution stages, and each execution stage comprises a plurality of execution threads;
the parallel execution module is used for controlling the multiple execution threads to execute in parallel so as to complete the tasks of the execution stages corresponding to the execution threads;
the serial execution module is used for controlling the execution stages to execute in sequence until the main thread is finished;
wherein the serial execution module comprises: and the sequencing submodule is used for carrying out priority sequencing on the execution stages, and the execution stages are executed in series according to the priority sequence.
6. The apparatus of claim 5, further comprising:
and the interaction module is used for enabling the multiple execution threads to carry out information interaction in a remote procedure call mode during the parallel execution of the multiple execution threads in the same execution stage.
7. The apparatus of claim 5, further comprising:
and the data transmission module is used for transmitting data among threads through the agent packaged in the weak reference mode, and judging whether the data pointed by the original pointer is released or not by judging whether the original pointer is nullprt or not after the original pointer is obtained when a plurality of execution threads are interacted.
8. The apparatus of claim 5, wherein a first execution phase has a higher priority than a second execution phase if data after execution of the first execution phase affects execution of the second execution phase.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390803.7A CN109522128B (en) | 2018-11-21 | 2018-11-21 | Segmented multithreading task execution method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390803.7A CN109522128B (en) | 2018-11-21 | 2018-11-21 | Segmented multithreading task execution method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522128A CN109522128A (en) | 2019-03-26 |
CN109522128B true CN109522128B (en) | 2020-11-13 |
Family
ID=65777626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811390803.7A Active CN109522128B (en) | 2018-11-21 | 2018-11-21 | Segmented multithreading task execution method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522128B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528583B (en) * | 2020-12-18 | 2022-04-01 | 广东高云半导体科技股份有限公司 | Multithreading comprehensive method and comprehensive system for FPGA development |
CN113392075B (en) * | 2021-06-29 | 2022-02-11 | 深圳市蓬莱产业科技有限公司 | Multithreading collaborative file batch naming method |
CN113903128B (en) * | 2021-12-09 | 2022-03-15 | 武汉天喻信息产业股份有限公司 | Equipment with display and method for improving running performance of equipment with display |
CN114519035A (en) * | 2022-01-19 | 2022-05-20 | 上海卫星工程研究所 | High-speed satellite telemetering processing method and system |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969560A (en) * | 2010-11-01 | 2011-02-09 | 北京中科大洋科技发展股份有限公司 | Slice code rate allocation method of Mpeg2 high-definition coder under multi-core platform |
CN103077006A (en) * | 2012-12-27 | 2013-05-01 | 浙江工业大学 | Multithreading-based parallel executing method for long transaction |
US8544006B2 (en) * | 2007-12-19 | 2013-09-24 | International Business Machines Corporation | Resolving conflicts by restarting execution of failed discretely executable subcomponent using register and memory values generated by main component after the occurrence of a conflict |
CN106020822A (en) * | 2016-05-18 | 2016-10-12 | 腾讯科技(成都)有限公司 | Weak reference implementation method and device oriented to Pool object |
CN106504301A (en) * | 2016-10-30 | 2017-03-15 | 合肥微匠信息科技有限公司 | A kind of method for drafting for corresponding vector data by multi-core CPU |
CN106648928A (en) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | Method and device for inter-process communication |
CN107391090A (en) * | 2017-07-28 | 2017-11-24 | 成都优博创通信技术股份有限公司 | Multithreading performs method and device |
CN107766101A (en) * | 2017-09-30 | 2018-03-06 | 五八有限公司 | App starts processing method, device and the equipment of event |
-
2018
- 2018-11-21 CN CN201811390803.7A patent/CN109522128B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8544006B2 (en) * | 2007-12-19 | 2013-09-24 | International Business Machines Corporation | Resolving conflicts by restarting execution of failed discretely executable subcomponent using register and memory values generated by main component after the occurrence of a conflict |
CN101969560A (en) * | 2010-11-01 | 2011-02-09 | 北京中科大洋科技发展股份有限公司 | Slice code rate allocation method of Mpeg2 high-definition coder under multi-core platform |
CN103077006A (en) * | 2012-12-27 | 2013-05-01 | 浙江工业大学 | Multithreading-based parallel executing method for long transaction |
CN106020822A (en) * | 2016-05-18 | 2016-10-12 | 腾讯科技(成都)有限公司 | Weak reference implementation method and device oriented to Pool object |
CN106504301A (en) * | 2016-10-30 | 2017-03-15 | 合肥微匠信息科技有限公司 | A kind of method for drafting for corresponding vector data by multi-core CPU |
CN106648928A (en) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | Method and device for inter-process communication |
CN107391090A (en) * | 2017-07-28 | 2017-11-24 | 成都优博创通信技术股份有限公司 | Multithreading performs method and device |
CN107766101A (en) * | 2017-09-30 | 2018-03-06 | 五八有限公司 | App starts processing method, device and the equipment of event |
Also Published As
Publication number | Publication date |
---|---|
CN109522128A (en) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522128B (en) | Segmented multithreading task execution method and device | |
KR20210011451A (en) | Embedded scheduling of hardware resources for hardware acceleration | |
Stepner et al. | Embedded application design using a real-time OS | |
CN107203465B (en) | System interface testing method and device | |
US20240160474A1 (en) | Multi-core processor task scheduling method, and device and storage medium | |
CN112491426B (en) | Service assembly communication architecture and task scheduling and data interaction method facing multi-core DSP | |
CN114564435A (en) | Inter-core communication method, device and medium for heterogeneous multi-core chip | |
CN112256421A (en) | Communication processing method, communication processing device, storage medium and electronic equipment | |
EP4318211A1 (en) | Method for inspecting code under weak memory order architecture, and corresponding device | |
CN109857190A (en) | A kind of clock signal processing method, device, equipment and readable storage medium storing program for executing | |
CN113190427A (en) | Caton monitoring method and device, electronic equipment and storage medium | |
EP3857362A1 (en) | Method, apparatus, and electronic device for improving parallel performance of cpu | |
CN114911538B (en) | Starting method of running system and computing equipment | |
CN112256419A (en) | Embedded system multitask scheduling method based on timer clock control | |
CN117057411B (en) | Large language model training method, device, equipment and storage medium | |
CN117149471B (en) | Communication method, device, embedded system, storage medium and electronic equipment | |
CN113051182B (en) | Gray level publishing method, device and equipment based on distributed transaction | |
CN112084297B (en) | Data processing method, device, electronic equipment and storage medium | |
CN113568679A (en) | Plug-in loading method and device, storage medium and electronic equipment | |
CN115794324A (en) | Task processing method and device and storage medium | |
Joshua | Review of Patents Issued to Computer Architecture Companies in 2021—Part II | |
CN114064301A (en) | Data storage and reading method, device and equipment for single writer and multiple readers | |
CN114896075A (en) | Image reconstruction method and device, electronic equipment and storage medium | |
CN115061779A (en) | Kernel lock management method and device of user-mode virtual machine | |
CN116932155A (en) | Task flow development method, device, server, medium and equipment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |