CN109086124A - Method, apparatus, electronic equipment and the storage medium of adjustment time - Google Patents

Method, apparatus, electronic equipment and the storage medium of adjustment time Download PDF

Info

Publication number
CN109086124A
CN109086124A CN201710443448.4A CN201710443448A CN109086124A CN 109086124 A CN109086124 A CN 109086124A CN 201710443448 A CN201710443448 A CN 201710443448A CN 109086124 A CN109086124 A CN 109086124A
Authority
CN
China
Prior art keywords
time
thread
spin
shared resource
program
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.)
Granted
Application number
CN201710443448.4A
Other languages
Chinese (zh)
Other versions
CN109086124B (en
Inventor
姜韶峰
敖琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201710443448.4A priority Critical patent/CN109086124B/en
Publication of CN109086124A publication Critical patent/CN109086124A/en
Application granted granted Critical
Publication of CN109086124B publication Critical patent/CN109086124B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

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

Abstract

The embodiment of the invention provides a kind of method, apparatus of adjustment time, electronic equipment and storage mediums, are related to technical field of data processing, this method comprises: detecting the corresponding holding time of the subject thread when the subject thread in program occupies shared resource;According to the holding time, adjustment spin time, wherein the spin time, the application thread included the thread that application occupies the shared resource in described program for determining whether application thread needs to enter sleep state.The embodiment of the present invention is dynamically adjusted the spin time, uses the data access speed in the case of shared resource so as under the premise of guaranteeing program correctness, accelerate multithreading competition.

Description

Method, apparatus, electronic equipment and the storage medium of adjustment time
Technical field
The present invention relates to technical field of data processing, method, a kind of adjustment time more particularly to a kind of adjustment time Device, a kind of electronic equipment and a kind of storage medium.
Background technique
In multi-thread programming, data sharing is inevitable.Therefore, when multithreading carries out multiple programming, The consistency of data sharing becomes matter of utmost importance in need of consideration.
For example, consistency and safety in order to guarantee data during multi-thread data accesses, JAVA language mention It has supplied synchronous (synchronized) keyword to realize synchronization, that is, the keyword can be used to lock the critical of some object Area.Specifically, Java Virtual Machine (Java Virtual Machine, JVM) guarantees different threads for this using lock mechanism The exclusive reference for the critical zone that keyword identification comes out, i.e., any thread must be obtained first locked after could to access this critical Area, access completes that lock must be discharged when exiting the critical zone, so as to the entrance of other threads.
When there are a series of thread A [1]~A [n] to have used some shared data module (abbreviation data block), a certain When thread occupies the data block, other threads all have to enter into sleep state waiting and are waken up.If every secondary thread occupies The data block time is shorter, and the data switching that will be frequent consumes a large amount of central processing units (Central Processing Unit, CPU) resource, cause thread goodput to decline.
Summary of the invention
In view of the above problems, it proposes the embodiment of the present invention and overcomes the above problem or at least partly in order to provide one kind A kind of method of the adjustment time to solve the above problems.
Correspondingly, the embodiment of the invention also provides a kind of device of adjustment time, a kind of electronic equipment and one kind to deposit Storage media, to guarantee the implementation and application of the above method.
To solve the above-mentioned problems, the embodiment of the invention discloses a kind of methods of adjustment time, comprising:
When the subject thread in program occupies shared resource, the corresponding holding time of the subject thread is detected;
According to the holding time, adjustment spin time, wherein the spin time is for determining whether application thread needs To enter sleep state, the application thread includes the thread that application occupies the shared resource in described program.
It is optionally, described according to the holding time, adjustment spin time, comprising:
Judge whether the holding time is more than that described program corresponds to preset spin time threshold;
If being more than, shorten the spin time in described program;Otherwise, extend the spin time in described program.
Optionally, it is described judge the holding time whether be more than described program correspond to preset spin time threshold it Before, further includes:
Count switch threads corresponding switching time in described program;
According to the switching time, the spin time threshold is determined.
Optionally, before the subject thread occupancy shared resource, further includes:
When the thread application in program occupies shared resource, judge whether the shared resource is occupied;
When the shared resource does not have occupied, the thread is determined as the subject thread in described program, it is described Subject thread is for occupying the shared resource;
When the shared resource is occupied, detect the thread whether the spin time that can be current in described program It is interior to occupy the shared resource;
When the thread cannot occupy the shared resource within the current spin time, the thread enters sleep shape State.
Optionally, when the subject thread when in program occupies shared resource, when detecting the corresponding occupancy of the thread Between, comprising:
When the subject thread occupies the shared resource, corresponding first time is recorded;
The subject thread is dilute put the shared resource when, record corresponding second time;
According to the first time and second time, the holding time is determined.
The embodiment of the invention also discloses a kind of devices of adjustment time, comprising:
Holding time detection module, for detecting the score when the subject thread in program occupies shared resource The corresponding holding time of journey;
Spin time regulating module, for according to the holding time, adjustment spin time, wherein the spin time For determining whether application thread needs to enter sleep state, the application thread includes applying for that occupancy is described total in described program Enjoy the thread of resource.
Optionally, the spin time regulating module, comprising:
Judging submodule, for judging whether the holding time is more than the corresponding spin time threshold of described program;
Adjusting submodule shortens in described program if being more than the spin time threshold for the holding time It spins the time;Otherwise, extend the spin time in described program.
Optionally, the device of adjustment time further include:
Switching time statistical module, for counting the corresponding switching time of switch threads in described program;
Spin threshold determination module, for determining the spin time threshold according to the switching time.
Optionally, the device of adjustment time further include:
Resource occupation judgment module, for judging the shared money when the thread application in program occupies shared resource Whether source is occupied;
Thread occupies resource module, for the thread being determined as described when the shared resource does not have occupied Subject thread in program, the subject thread is for occupying the shared resource;
Threads spin judgment module, whether for when the shared resource is occupied, detecting the thread can be The shared resource is occupied in the described program current spin time;
Thread sleep waits module, for that cannot occupy the shared money within the current spin time when the thread Source, the thread enter sleep state.
Optionally, the holding time detection module, comprising:
Oneth the record sub module, for recording corresponding the when the subject thread occupies the shared resource One time;
2nd the record sub module, for the subject thread is dilute put the shared resource when, record corresponding Two times;
Holding time determines submodule, according to the first time and second time, determines the holding time.
It include memory and one or more than one the embodiment of the invention also discloses a kind of electronic equipment Program, perhaps more than one program is stored in memory and is configured to by one or more than one processing for one of them It includes the instruction for performing the following operation that device, which executes the one or more programs:
When the subject thread in program occupies shared resource, the corresponding holding time of the subject thread is detected;
According to the holding time, adjustment spin time, wherein the spin time is for determining whether application thread needs To enter sleep state, the application thread includes the thread that application occupies the shared resource in described program.
The embodiment of the invention also discloses a kind of readable storage medium storing program for executing, optionally, when the instruction in the storage medium by When the processor of electronic equipment executes, so that electronic equipment is able to carry out adjustment described in one or more in the embodiment of the present invention The method of time.
The embodiment of the present invention includes following advantages:
Through the embodiment of the present invention, when thread in a program occupies shared resource, when can detecte the corresponding occupancy Between, and the spin time can be dynamically adjusted, so as to add under the premise of guaranteeing program correctness according to the holding time Fast multithreading competition uses the data access speed in the case of shared resource.
Detailed description of the invention
Fig. 1 is a kind of step flow chart of the embodiment of the method for adjustment time of the invention;
Fig. 2 is a kind of step flow chart of the method preferred embodiment of adjustment time of the invention;
Fig. 3 is the change curve of the spin threshold function table in an optional example of the invention;
Fig. 4 is the flow chart that multithreading accesses to shared resource in an example of the present invention;
Fig. 5 is a kind of structural block diagram of time adjusting device embodiment of the invention;
Fig. 6 is a kind of structural block diagram of electronic equipment for adjustment time shown according to an exemplary embodiment.
Specific embodiment
In order to make the foregoing objectives, features and advantages of the present invention clearer and more comprehensible, with reference to the accompanying drawing and specific real Applying mode, the present invention is described in further detail.
Currently, the mechanism locked in Java Virtual Machine there are three kinds, comprising: be biased to lock, lightweight lock and heavyweight lock.Its In, the implementation of heavyweight lock can call directly the mutual exclusion lock of operating system nucleus to lock critical zone;Lightweight lock can To modify the synchronous regime of object, the degree of reentrancy of state and lock including locking by atomic operation;Being biased to lock can be in light weight It is advanced optimized on the basis of grade lock, it is convenient to omit the atomic operation in reentrant procedure.When only one thread enters critical zone, Lightweight lock can be used;When multiple threads compete critical area resource, heavyweight lock can be transferred to.
Specifically, when the competition of multiple threads is using critical resource, the mode that critical zone locks can in JVM To be converted to heavyweight lock from lightweight lock, the implementation of bottom can be the mutual exclusion lock of call operation system kernel, use The mode of process blocking synchronizes, and critical resource herein can be shared resource.For mutual exclusion lock, if a resource Z is Through being occupied by thread A, thread B wants to apply for resource Z, can not just obtain lock, can only enter sleep state and thread A is waited to terminate simultaneously Release lock.After thread A, which discharges, to be locked, operating system can wake up thread B and be switched to the scene that executes of thread B, and thread B is opened Begin to execute, and obtains the lock of resource Z.One of the problem of process, is that operating system is waking up thread B and is being switched to holding for B Row scene is a very time-consuming operation, needs to save the scene for the thread C being currently executing, such as saves each register State, the value etc. of PC register, and need to restore the scene of previously stored thread B, such as need to read the PC in the scene B The value of register could start execution thread B.
Obviously, it is synchronized using the mode of process blocking, the competition for occurring shared resource every time can all carry out thread and cut It changes.If the execution time of thread is all shorter, the time is performed effectively compared to thread, it is online to have a large amount of time consumption In the switching of journey, multithreading competition is reduced using the data access speed in the case of shared resource, affects the operation of program Speed.Wherein, shared resource is alternatively referred to as shared data block.
One of the core concepts of the embodiments of the present invention is, by detection shared resource from occupying dilute time put, moves The spin lock corresponding waiting time is adjusted, state to achieve the purpose that accelerate multi-thread data access speed.
It should be noted that spin lock can refer to realize protection shared resource and propose a kind of lock mechanism.For example, working as Thread B attempt apply resource Z spin lock when, if finding, the spin lock is occupied by thread A, thread B can spin one section when Between, i.e. thread B time that can spin accordingly according to spin lock spins.If thread A terminates simultaneously within the spin time The spin lock of resource Z is discharged, then the available spin lock of thread B and starts to execute;If thread A within the spin time simultaneously It is not over access shared resource, then thread B can enter sleep.
Referring to Fig.1, a kind of step flow chart of the embodiment of the method for adjustment time of the invention is shown, specifically can wrap Include following steps:
Step 101, when the subject thread in program occupies shared resource, when detecting the corresponding occupancy of the subject thread Between.
In the concrete realization, when thread in a program occupies shared resource, which can be determined as subject thread, And the subject thread can be counted from occupying to dilute time difference for putting shared resource, when determining the corresponding occupancy of the subject thread Between.The holding time can be used for characterizing the clock cycle that subject thread occupies shared resource.
It, can be by the way that read register be added at the time point that shared data block occupies and discharges as an example of the invention Then the instruction of CP0 can calculate the clock cycle that the shared data block is occupied by thread by seeking the method for difference, that is, determine The corresponding holding time of subject thread out.
It should be noted that register CP0 can be in central processing unit (Central Processing Unit, CPU) For recording the register of time, a coprocessor (co-processor) such as can be, it can band in the coprocessor There is the register Count with computing function, such as the Count can increase by 1 every the two systems clock cycle.
With microprocessor (the Microprocessor without interlocked piped of no inner interlocked pipelining-stage Stages, MIPS) for, there are a register CP0 in CPU, can be posted by command M FC0 and command M TC0 realization this The access of storage CP0.Wherein, command M FC0 can be used for reading data from register CP0;Command M TC0 can be used for count According to storage into register CP0.Register CP0 can be internal clocking register, as CPU can be by the register every 1 bat The value of CP0 adds one.
Step 102, according to the holding time, adjustment spin time, wherein the spin time is for determining application line Whether journey needs to enter sleep state, and the application thread includes the thread that application occupies the shared resource in described program.
In the embodiment of the present invention, the thread that application can be occupied to shared resource is known as applying for thread.Spinning the time can be with It such as can be the spin lock corresponding waiting time for the time threshold of thread spin-waiting in characterization program.
In the concrete realization, when the shared resource that thread application occupies has been occupied by other threads, which can be according to The spin time spins, to wait occupancy shared resource, and can be during spin without efficient operation.
Through the embodiment of the present invention, when thread in a program occupies shared resource, when can detecte the corresponding occupancy Between, and the spin time can be dynamically adjusted according to the holding time, it can accelerate more under the premise of guaranteeing program correctness Thread competition uses the data access speed in the case of shared resource.
In order to which those skilled in the art are best understood from implementation column of the present invention, the embodiment of the present invention is carried out below in conjunction with example Description.
In the concrete realization, different application programs can have the characteristics that different.Using the embodiment of the present invention, Java is virtual The characteristics of machine can be according to concrete application program is adaptively analyzed and adjusts the spin lock corresponding waiting time, i.e., automatic to adjust The section spin time, so as to accelerate the access speed to shared resource under the premise of not influencing program correctness.
In an optional example, Java Virtual Machine can by detection shared resource from it is occupied and release time, The spin lock corresponding waiting time is analyzed and adjusts, adaptively to achieve the purpose that accelerate multi-thread data access speed.Tool Body, if the shared resource in program persistently occupies long time by some thread every time, other threads spins are waited The cost for occupying the shared resource switches bring cost far beyond thread, then can be dynamically by spin-waiting Time threshold is turned down, and the time of spin-waiting is reduced, i.e. the reduction program corresponding spin time., whereas if being total in program The resource cracking release of occupied thread every time is enjoyed, i.e. the corresponding holding time of thread is shorter, other threads spins wait The income that can be obtained is higher than the income of thread switching, then the time threshold of spin-waiting can dynamically be turned up, and extends spin etc. To time, i.e. increase program corresponding spin time.
Referring to Fig. 2, a kind of step flow chart of the method preferred embodiment of adjustment time of the invention is shown, specifically may be used To include the following steps:
Step 201, when the thread application in program occupies shared resource, judge whether the shared resource is occupied With.
Specifically, when in program thread application occupy shared resource when, it can be determined that the shared resource whether by It occupies.When the shared resource does not have occupied, i.e., the described thread can occupy the shared resource, such as can be by the line Journey is determined as the subject thread in program, then which executes step 202 for occupying the shared resource.Institute State shared resource it is occupied when, can detecte whether the thread can occupy institute within the described program current spin time State shared resource.When the thread cannot occupy the shared resource within the current spin time, the thread can enter Sleep state.If the thread can occupy the shared resource within the current spin time, step 202 can be executed.
Step 202, when the subject thread in program occupies shared resource, when detecting the corresponding occupancy of the subject thread Between.
In a preferred embodiment of the invention, step 202 may include following sub-step:
Sub-step 2011 records corresponding first time when the subject thread occupies the shared resource;
Sub-step 2012, the subject thread is dilute put the shared resource when, record corresponding second time;
Sub-step 2013 determines the holding time according to the first time and second time.
For example, can read the value of register CP0 when subject thread occupies shared resource and be recorded as first time t1; When the subject thread is dilute puts shared resource, the value of CP0 register can be read again and can recorde as the second time t2;From And the time △ that the subject thread occupies shared resource can be obtained by the difference of the second time t2 and first time t1 of calculating T, that is, determine the corresponding holding time △ t of the subject thread, and calculation formula can be with are as follows: △ t=t2-t1.
Step 203, according to the holding time, adjustment spin time.
In a preferred embodiment of the invention, it according to the holding time, the adjustment spin time, specifically can wrap It includes: judging whether the holding time is more than that described program corresponds to preset spin time threshold;If being more than, shorten in program The spin time;Otherwise, extend the spin time in described program.
In the embodiment of the present invention, can be according to program the characteristics of, which is set and corresponds to preset spin time threshold, and The spin time threshold is determined for whether spin performance is lower than the performance for being directly entered thread block waiting.For example, can Whether to be more than preset spin time threshold by detection holding time, to dynamically adjust spin time parameter, and can be with The Cheng Zixuan time is determined based on spin time parameter adjusted.Specifically, if the corresponding holding time of thread is more than the spin Time threshold can then determine that spin performance is lower than the performance for being directly entered thread block waiting, and can be by dynamically increasing Spin time parameter, reduces the program corresponding spin time, uses the data in the case of shared resource to accelerate multithreading competition Access speed.If the corresponding holding time of thread be lower than the spin time threshold, can determine spin performance be higher than directly into Enter the performance of thread block waiting, and the program corresponding spin time can be increased by dynamically reducing spin time parameter, with Achieve the purpose that threads spin, and then thread goodput can be improved while accelerating data access speed.
In the concrete realization, thread can be occupied to the clock cycle of shared resource and the clock cycle of thread switching carries out Compare, so as to adaptively analyze and adjust the spin time.Therefore, in a preferred embodiment of the invention, described Judge whether the holding time is more than before described program corresponds to preset spin time threshold, can also include: statistics institute State the corresponding switching time of switch threads in program;According to the switching time, the spin time threshold is determined.Wherein, institute The spin time threshold can be no more than by stating the spin time.
In the embodiment of the present invention, switching time can be used for characterizing the time needed for CPU does a thread switching.It is specific and Speech, switching time T needed for a thread switching can be done based on CPU is come the corresponding spin time threshold of setting program, such as in advance If spin time threshold can be the integral multiple of switching time T.For example, preset spin time threshold and program can be based on Corresponding relationship between the corresponding holding time of middle thread, carrys out the corresponding spin threshold function table of setting program.It should be noted that Spin threshold function table can be according to distinct program the characteristics of and/or different demands are configured, the embodiment of the present invention to this not It is restricted.
Referring to Fig. 3, the change curve of the spin threshold function table in an optional example of the invention is shown.
In an optional example, preset spin time threshold holding time corresponding with thread in program can be based on Between corresponding relationship, determine spin threshold function table y=F (x);Wherein, y can be used to indicate that the spin in the embodiment of the present invention Time;X can be used to indicate that the spin time parameter in the embodiment of the present invention.It, can be with based on the spin threshold function table y=F (x) According to spin time parameter x adjusted, corresponding spin time y is determined.For example, the cost when spin-waiting has exceeded thread When the cost of switching, it can dynamically increase the value of spin time parameter x, while the value for the time y that spins can accordingly decrease;Instead It, spin time parameter x reduces, and the value of spin time y can be increase accordingly.
It should be noted that spin time parameter x can be variable, whether the value of the variable can be in spin with thread Interior release shared resource is related.The present invention is implemented can be by judging that can thread discharge shared money within the preset 2T time Source, to change the value of spin time parameter x, so as to indirectly control the time span that spins next time.Control to the spin time System, can be used the control of linear change, the control of nonlinear change also can be used, can be carried out according to specific procedure characteristic Determine, the embodiment of the present invention to this with no restriction.
As shown in figure 3, spin threshold function table y=F (x) can have following characteristics: monotone decreasing, domain can be certain In range and the codomain of the function can be data interval [0,2T].If the corresponding spin time y of program is done more than CPU The time of two secondary threads switching, i.e. y > 2T, the then performance that spins are lower than the performance for being directly entered thread block waiting, i.e. spin-waiting Cost have exceeded thread switching cost.
Specifically, spin time parameter x can be the independent variable for controlling spin time y variation, such as spin the time The initial value of parameter x can be 0, and spin time y at this time can be T, and spin time y can with the variation of spin time parameter x For linear change.If the holding time detected every time is both greater than the time 2T of two secondary threads switching, spin time parameter x It can add one, reduce spin lock and spin accordingly time y;When the time parameter x that spins is greater than certain value, spin lock can be with It closes., whereas if the holding time detected every time is both less than the time 2T of two secondary threads switching, then spin time parameter x It can subtract one, increase spin lock and spin accordingly time y;When the time parameter x that spins is less than some value, spin the time Y can be maximum value 2T, i.e. spin time y is no more than preset spin time threshold 2T.
It should be noted that when the value of the corresponding holding time △ t of most threads is all very big, and there are several lines In the case where the value very little of the corresponding holding time △ t of journey, directly use the corresponding holding time △ t of thread as spin threshold value Argument of function uses y- △ t function as spin threshold function table, may result in spin time y and frequently change.Cause This, in order to reduce influence caused by special circumstances, this example does not use directly the corresponding holding time △ t of thread as spin The independent variable of threshold function table.In addition, this example can also change spin by the domain for the threshold value control function that spins to control Learning cost needed for time y.
Referring to Fig. 4, the flow chart that multithreading accesses to shared resource in an example of the present invention is shown, it is specific to wrap Include following steps:
Step 4.1, when thread application shared resource, judge whether the shared resource is occupied.
In this example, as a certain thread application shared resource Z, such as in thread B application resource Z, judge that this is shared Whether resource Z is occupied.If shared resource Z does not have occupied, 4.2 are entered step;If shared resource Z is occupied, Then the thread application occupies shared resource Z failure, 4.8 is entered step, as thread A has occupied shared resource Z, the i.e. Shen thread B Shared resource Z failure please be occupy, as shown in Figure 4.
Step 4.2, subject thread occupies the shared resource, reads the value of register CP0 and is recorded as first time t1.
Step 4.3, when subject thread discharges shared resource, the value of register CP0 can be read again and be recorded as the Two time t2.
Step 4.3, the corresponding holding time △ t of computational threads.
For example, when thread A occupies shared resource Z, the subject thread that thread A can be determined as in program, and The value of register CP0 can be read and be recorded as first time t1;When thread A discharges shared resource Z, deposit can be read again The value of device CP0 is simultaneously recorded as the second time t2;It is thus possible to which computational threads A is occupied according to first time t1 and the second time t2 The time △ t of shared resource Z, calculation formula can be with are as follows: △ t=t2-t1.
Step 4.5, judge whether holding time △ t is greater than two secondary thread switching time 2T.
In this example, it can be dynamically adjusted by judging the size of holding time △ and two secondary thread switching time 2T Spin time parameter x;If △ t > 2T, x++;Otherwise x--.
Step 4.6, according to spin threshold function table y=F (x) and spin time parameter x adjusted, spin time y is calculated.
Specifically, can be according to spin threshold function table y=F (x) and x value adjusted, setting spin time y, it can When changing the corresponding spin time y of program, and can judge spin time y after change as the spin of threads spin next time It is long;It is then possible to whether there is thread sleep in determining program, the shared resource Z is occupied to wait.
Step 4.7, shared resource is occupied if there is sleep thread waits, then can wakes up the sleep thread;If no Thread of sleeping, which waits, occupies shared resource, then can terminate.
In this example, sleep thread can be used for characterizing into dormant thread.For example, when thread B enters sleep After state, thread B can be used as sleep thread;And it so that thread B exits sleep state, and can be moved back by waking up thread B The thread B after sleep state can occupy shared resource, i.e., the subject thread being determined as thread B in program out;And in thread B is dilute when putting shared resource Z, can calculate the corresponding holding time of thread B.
Step 4.8, thread spins in spin time y.If thread can occupy shared money in spin time y Source can then enter step 4.2;Otherwise, 4.9 can be entered step.
Step 4.9, thread enters sleep state, to wait occupancy shared resource.
For example, entering in thread B from supination, if can get shared resource during spin, i.e. thread B is occupied altogether Enjoy resource, then can thread B is dilute put shared resource when, determine the corresponding holding time of thread B;If thread B cannot spin During get shared resource, then thread B enters sleep state.
To sum up, the embodiment of the present invention can be under the premise of guaranteeing application program correctness, according to different application Feature can be spinned the time with dynamic regulation, accelerate multithreading to the access speed of shared resource, so as to be promoted such as The net synchronization capability of the softwares such as Java Virtual Machine.For example, can effectively provide the property of Java Virtual Machine using the embodiment of the present invention Can, such as the execution performance of multi-thread concurrent program.
In addition, the embodiment of the present invention has certain applicability for the software for providing synchronization mechanism, it is not limited solely to Java Virtual Machine has general applicability.
It should be noted that for simple description, therefore, it is stated as a series of action groups for embodiment of the method It closes, but those skilled in the art should understand that, embodiment of that present invention are not limited by the describe sequence of actions, because according to According to the embodiment of the present invention, some steps may be performed in other sequences or simultaneously.Secondly, those skilled in the art also should Know, the embodiments described in the specification are all preferred embodiments, and the related movement not necessarily present invention is implemented Necessary to example.
Referring to Fig. 5, a kind of structural block diagram of the Installation practice of adjustment time of the invention is shown, can specifically include Following module:
Holding time detection module 501, for detecting the target when the subject thread in program occupies shared resource The corresponding holding time of thread;
Spin time regulating module 502, for according to the holding time, adjustment spin time, wherein when the spin Between for determine application thread whether need enter sleep state, the apply thread include in described program application occupancy described in The thread of shared resource.
In an alternate embodiment of the present invention where, the spin time regulating module 502, comprising:
Judging submodule, for judging whether the holding time is more than the corresponding spin time threshold of described program;
Adjusting submodule shortens in described program if being more than the spin time threshold for the holding time It spins the time;Otherwise, extend the spin time in described program.
In an alternate embodiment of the present invention where, the device of the adjustment time can also include:
Switching time statistical module, for counting the corresponding switching time of switch threads in described program;
Spin threshold determination module, for determining the spin time threshold according to the switching time.
In an alternate embodiment of the present invention where, the device of the adjustment time can also include:
Resource occupation judgment module, for judging the shared money when the thread application in program occupies shared resource Whether source is occupied;
Thread occupies resource module, for the thread being determined as described when the shared resource does not have occupied Subject thread in program, the subject thread is for occupying the shared resource;
Threads spin judgment module, whether for when the shared resource is occupied, detecting the thread can be The shared resource is occupied in the described program current spin time;
Thread sleep waits module, for that cannot occupy the shared money within the current spin time when the thread Source, the thread enter sleep state.
In an alternate embodiment of the present invention where, the holding time detection module, comprising:
Oneth the record sub module, for recording corresponding the when the subject thread occupies the shared resource One time;
2nd the record sub module, for the subject thread is dilute put the shared resource when, record corresponding Two times;
Holding time determines submodule, according to the first time and second time, determines the holding time.
For device embodiment, since it is basically similar to the method embodiment, related so being described relatively simple Place illustrates referring to the part of embodiment of the method.
Fig. 6 is a kind of structural block diagram of electronic equipment 600 for adjustment time shown according to an exemplary embodiment. For example, electronic equipment 600 can be mobile phone, computer, digital broadcasting terminal, messaging device, game console put down Panel device, Medical Devices, body-building equipment, personal digital assistant etc..
Referring to Fig. 6, electronic equipment 600 may include following one or more components: processing component 602, memory 604, Power supply module 606, multimedia component 608, audio component 610, the interface 612 of input/output (I/O), sensor module 614, And communication component 616.
The integrated operation of the usual controlling electronic devices 600 of processing component 602, such as with display, call, data are logical Letter, camera operation and record operate associated operation.Processing component 602 may include one or more processors 620 to hold Row instruction, to perform all or part of the steps of the methods described above.In addition, processing component 602 may include one or more moulds Block, convenient for the interaction between processing component 602 and other assemblies.For example, processing component 602 may include multi-media module, with Facilitate the interaction between multimedia component 608 and processing component 602.
Memory 604 is configured as storing various types of data to support the operation in equipment 600.These data are shown Example includes the instruction of any application or method for operating on electronic equipment 600, contact data, telephone directory number According to, message, picture, video etc..Memory 604 can by any kind of volatibility or non-volatile memory device or they Combination realize, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM) is erasable Programmable read only memory (EPROM), programmable read only memory (PROM), read-only memory (ROM), magnetic memory, quick flashing Memory, disk or CD.
Power supply module 606 provides electric power for the various assemblies of electronic equipment 600.Power supply module 606 may include power supply pipe Reason system, one or more power supplys and other with for electronic equipment 600 generate, manage, and distribute the associated component of electric power.
Multimedia component 608 includes the screen of one output interface of offer between the electronic equipment 600 and user. In some embodiments, screen may include liquid crystal display (LCD) and touch panel (TP).If screen includes touch surface Plate, screen may be implemented as touch screen, to receive input signal from the user.Touch panel includes one or more touches Sensor is to sense the gesture on touch, slide, and touch panel.The touch sensor can not only sense touch or sliding The boundary of movement, but also detect duration and pressure associated with the touch or slide operation.In some embodiments, Multimedia component 608 includes a front camera and/or rear camera.When equipment 600 is in operation mode, as shot mould When formula or video mode, front camera and/or rear camera can receive external multi-medium data.Each preposition camera shooting Head and rear camera can be a fixed optical lens system or have focusing and optical zoom capabilities.
Audio component 610 is configured as output and/or input audio signal.For example, audio component 610 includes a Mike Wind (MIC), when electronic equipment 600 is in operation mode, when such as call mode, recording mode, and voice recognition mode, microphone It is configured as receiving external audio signal.The received audio signal can be further stored in memory 604 or via logical Believe that component 616 is sent.In some embodiments, audio component 610 further includes a loudspeaker, is used for output audio signal.
I/O interface 612 provides interface between processing component 602 and peripheral interface module, and above-mentioned peripheral interface module can To be keyboard, click wheel, button etc..These buttons may include, but are not limited to: home button, volume button, start button and lock Determine button.
Sensor module 614 includes one or more sensors, for providing the state of various aspects for electronic equipment 600 Assessment.For example, sensor module 614 can detecte the state that opens/closes of equipment 600, the relative positioning of component, such as institute The display and keypad that component is electronic equipment 600 are stated, sensor module 614 can also detect electronic equipment 600 or electronics The position change of 600 1 components of equipment, the existence or non-existence that user contacts with electronic equipment 600,600 orientation of electronic equipment Or the temperature change of acceleration/deceleration and electronic equipment 600.Sensor module 614 may include proximity sensor, be configured to It detects the presence of nearby objects without any physical contact.Sensor module 614 can also include optical sensor, such as CMOS or ccd image sensor, for being used in imaging applications.In some embodiments, which can be with Including acceleration transducer, gyro sensor, Magnetic Sensor, pressure sensor or temperature sensor.
Communication component 616 is configured to facilitate the communication of wired or wireless way between electronic equipment 600 and other equipment. Electronic equipment 600 can access the wireless network based on communication standard, such as WiFi, 2G or 3G or their combination.Show at one In example property embodiment, communication component 616 receives broadcast singal or broadcast from external broadcasting management system via broadcast channel Relevant information.In one exemplary embodiment, the communication component 616 further includes near-field communication (NFC) module, short to promote Cheng Tongxin.For example, radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra wide band can be based in NFC module (UWB) technology, bluetooth (BT) technology and other technologies are realized.
In the exemplary embodiment, electronic equipment 600 can be by one or more application specific integrated circuit (ASIC), number Word signal processor (DSP), digital signal processing appts (DSPD), programmable logic device (PLD), field programmable gate array (FPGA), controller, microcontroller, microprocessor or other electronic components are realized, for executing the above method.
In the exemplary embodiment, a kind of non-transitorycomputer readable storage medium including instruction, example are additionally provided It such as include the memory 604 of instruction, above-metioned instruction can be executed by the processor 620 of electronic equipment 600 to complete the above method.Example Such as, the non-transitorycomputer readable storage medium can be ROM, random access memory (RAM), CD-ROM, tape, soft Disk and optical data storage devices etc..
A kind of non-transitorycomputer readable storage medium, when the instruction in the storage medium is by the processing of electronic equipment When device executes, so that a kind of method that electronic equipment is able to carry out adjustment time, which comprises when the score in program When Cheng Zhanyong shared resource, the corresponding holding time of the subject thread is detected;According to the holding time, when adjustment is spinned Between, wherein the spin time, the application thread included described for determining whether application thread needs to enter sleep state Application occupies the thread of the shared resource in program.
Optionally, described according to the holding time, adjustment spin time, comprising: judge whether the holding time surpasses It crosses described program and corresponds to preset spin time threshold;If being more than, shorten the spin time in described program;Otherwise, extend The spin time in described program.
Optionally, it is described judge the holding time whether be more than described program correspond to preset spin time threshold it Before, further includes: switch threads corresponding switching time in statistics described program;According to the switching time, the spin is determined Time threshold.
Optionally, before the subject thread occupancy shared resource, further includes: shared when the thread application in program occupies When resource, judge whether the shared resource is occupied;When the shared resource does not have occupied, the thread is determined For the subject thread in described program, the subject thread is for occupying the shared resource;It is occupied in the shared resource Used time, detect whether the thread can occupy the shared resource within the described program current spin time;When the line Cheng Buneng occupies the shared resource within the current spin time, and the thread enters sleep state.
Optionally, when the subject thread when in program occupies shared resource, when detecting the corresponding occupancy of the thread Between, comprising: when the subject thread occupies the shared resource, record corresponding first time;It is dilute in the subject thread When putting the shared resource, corresponding second time is recorded;According to the first time and second time, accounted for described in determination Use the time.
All the embodiments in this specification are described in a progressive manner, the highlights of each of the examples are with The difference of other embodiments, the same or similar parts between the embodiments can be referred to each other.
It should be understood by those skilled in the art that, the embodiment of the embodiment of the present invention can provide as method, apparatus or calculate Machine program product.Therefore, the embodiment of the present invention can be used complete hardware embodiment, complete software embodiment or combine software and The form of the embodiment of hardware aspect.Moreover, the embodiment of the present invention can be used one or more wherein include computer can With in the computer-usable storage medium (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) of program code The form of the computer program product of implementation.
The embodiment of the present invention be referring to according to the method for the embodiment of the present invention, terminal device (system) and computer program The flowchart and/or the block diagram of product describes.It should be understood that flowchart and/or the block diagram can be realized by computer program instructions In each flow and/or block and flowchart and/or the block diagram in process and/or box combination.It can provide these Computer program instructions are set to general purpose computer, special purpose computer, Embedded Processor or other programmable data processing terminals Standby processor is to generate a machine, so that being held by the processor of computer or other programmable data processing terminal devices Capable instruction generates for realizing in one or more flows of the flowchart and/or one or more blocks of the block diagram The device of specified function.
These computer program instructions, which may also be stored in, is able to guide computer or other programmable data processing terminal devices In the computer-readable memory to work in a predictive manner, so that instruction stored in the computer readable memory generates packet The manufacture of command device is included, which realizes in one side of one or more flows of the flowchart and/or block diagram The function of being specified in frame or multiple boxes.
These computer program instructions can also be loaded into computer or other programmable data processing terminal devices, so that Series of operation steps are executed on computer or other programmable terminal equipments to generate computer implemented processing, thus The instruction executed on computer or other programmable terminal equipments is provided for realizing in one or more flows of the flowchart And/or in one or more blocks of the block diagram specify function the step of.
Although the preferred embodiment of the embodiment of the present invention has been described, once a person skilled in the art knows bases This creative concept, then additional changes and modifications can be made to these embodiments.So the following claims are intended to be interpreted as Including preferred embodiment and fall into all change and modification of range of embodiment of the invention.
Finally, it is to be noted that, herein, relational terms such as first and second and the like be used merely to by One entity or operation are distinguished with another entity or operation, without necessarily requiring or implying these entities or operation Between there are any actual relationship or orders.Moreover, the terms "include", "comprise" or its any other variant meaning Covering non-exclusive inclusion, so that process, method, article or terminal device including a series of elements not only wrap Those elements are included, but also including other elements that are not explicitly listed, or further includes for this process, method, article Or the element that terminal device is intrinsic.In the absence of more restrictions, being wanted by what sentence "including a ..." limited Element, it is not excluded that there is also other identical elements in process, method, article or the terminal device for including the element.
Above to a kind of method and apparatus of adjustment time provided by the present invention, a kind of electronic equipment and a kind of storage Medium is described in detail, and used herein a specific example illustrates the principle and implementation of the invention, with The explanation of upper embodiment is merely used to help understand method and its core concept of the invention;Meanwhile for the general of this field Technical staff, according to the thought of the present invention, there will be changes in the specific implementation manner and application range, in conclusion The contents of this specification are not to be construed as limiting the invention.

Claims (12)

1. a kind of method of adjustment time characterized by comprising
When the subject thread in program occupies shared resource, the corresponding holding time of the subject thread is detected;
According to the holding time, the adjustment spin time, wherein the spin time for determine apply thread whether need into Enter sleep state, the application thread includes the thread that application occupies the shared resource in described program.
2. the method according to claim 1, wherein described according to the holding time, adjustment spin time, packet It includes:
Judge whether the holding time is more than that described program corresponds to preset spin time threshold;
If being more than, shorten the spin time in described program;Otherwise, extend the spin time in described program.
3. according to the method described in claim 2, it is characterized in that, described judge whether the holding time is more than described program Before corresponding preset spin time threshold, further includes:
Count switch threads corresponding switching time in described program;
According to the switching time, the spin time threshold is determined.
4. method according to any one of claims 1 to 3, which is characterized in that before the subject thread occupies shared resource, Further include:
When the thread application in program occupies shared resource, judge whether the shared resource is occupied;
When the shared resource does not have occupied, the thread is determined as the subject thread in described program, the target Thread is for occupying the shared resource;
When the shared resource is occupied, detect whether the thread can account within the described program current spin time With the shared resource;
When the thread cannot occupy the shared resource within the current spin time, the thread enters sleep state.
5. method according to any one of claims 1 to 3, which is characterized in that the subject thread when in program occupies altogether When enjoying resource, the corresponding holding time of the subject thread is detected, comprising:
When the subject thread occupies the shared resource, corresponding first time is recorded;
The subject thread is dilute put the shared resource when, record corresponding second time;
According to the first time and second time, the holding time is determined.
6. a kind of device of adjustment time characterized by comprising
Holding time detection module, for detecting the subject thread pair when the subject thread in program occupies shared resource The holding time answered;
Spin time regulating module, for according to the holding time, adjustment spin time, wherein the spin time is used for Determine whether application thread needs to enter sleep state, the application thread includes the application occupancy shared money in described program The thread in source.
7. device according to claim 6, which is characterized in that the spin time regulating module, comprising:
Judging submodule, for judging whether the holding time is more than the corresponding spin time threshold of described program;
Adjusting submodule shortens the spin in described program if being more than the spin time threshold for the holding time Time;Otherwise, extend the spin time in described program.
8. device according to claim 7, which is characterized in that further include:
Switching time statistical module, for counting the corresponding switching time of switch threads in described program;
Spin threshold determination module, for determining the spin time threshold according to the switching time.
9. according to any device of claim 6 to 8, which is characterized in that further include:
Resource occupation judgment module, for judging that the shared resource is when the thread application in program occupies shared resource It is no occupied;
Thread occupies resource module, for when the shared resource does not have occupied, the thread to be determined as described program In subject thread, the subject thread is for occupying the shared resource;
Threads spin judgment module, for whether when the shared resource is occupied, detecting the thread can be described The shared resource is occupied in the program current spin time;
Thread sleep waits module, for that cannot occupy the shared resource, institute within the current spin time when the thread It states thread and enters sleep state.
10. according to any device of claim 6 to 8, which is characterized in that the holding time detection module, comprising:
Oneth the record sub module is used for when the subject thread occupies the shared resource, when recording corresponding first Between;
2nd the record sub module, for the subject thread is dilute put the shared resource when, when recording corresponding second Between;
Holding time determines submodule, according to the first time and second time, determines the holding time.
11. a kind of electronic equipment, which is characterized in that include memory and one or more than one program, wherein one A perhaps more than one program is stored in memory and is configured to execute described one by one or more than one processor A or more than one program includes the instruction for performing the following operation:
When the subject thread in program occupies shared resource, the corresponding holding time of the subject thread is detected;
According to the holding time, the adjustment spin time, wherein the spin time for determine apply thread whether need into Enter sleep state, the application thread includes the thread that application occupies the shared resource in described program.
12. a kind of readable storage medium storing program for executing, which is characterized in that when the instruction in the storage medium is held by the processor of electronic equipment When row, so that the method that electronic equipment is able to carry out the adjustment time as described in one or more in claim to a method 1-5.
CN201710443448.4A 2017-06-13 2017-06-13 Method and device for adjusting time, electronic equipment and storage medium Active CN109086124B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710443448.4A CN109086124B (en) 2017-06-13 2017-06-13 Method and device for adjusting time, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710443448.4A CN109086124B (en) 2017-06-13 2017-06-13 Method and device for adjusting time, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN109086124A true CN109086124A (en) 2018-12-25
CN109086124B CN109086124B (en) 2021-08-20

Family

ID=64838701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710443448.4A Active CN109086124B (en) 2017-06-13 2017-06-13 Method and device for adjusting time, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN109086124B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557398A (en) * 2019-09-12 2019-12-10 金蝶软件(中国)有限公司 Service request control method, device, system, computer equipment and storage medium
CN113676881A (en) * 2021-08-06 2021-11-19 Oppo广东移动通信有限公司 Device control method, device, electronic device and storage medium
CN114675979A (en) * 2022-03-25 2022-06-28 阿波罗智能技术(北京)有限公司 Multitask concurrent processing method and device, electronic equipment and automatic driving vehicle
US11379456B2 (en) * 2020-10-01 2022-07-05 Oracle International Corporation Efficient adjustment of spin-locking parameter values
US11868261B2 (en) 2021-07-20 2024-01-09 Oracle International Corporation Prediction of buffer pool size for transaction processing workloads

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601477A (en) * 2003-09-25 2005-03-30 国际商业机器公司 Method and system for autonomically adaptive mutexes
US20090199030A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Hardware Wake-and-Go Mechanism for a Data Processing System
CN102566979A (en) * 2011-12-02 2012-07-11 华为技术有限公司 Method, device and multi-core processor system for realizing self-adaptive lock
CN105393212A (en) * 2013-08-14 2016-03-09 国际商业机器公司 Efficient task scheduling using locking mechanism
CN106462395A (en) * 2014-05-05 2017-02-22 谷歌公司 Thread waiting in a multithreaded processor architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601477A (en) * 2003-09-25 2005-03-30 国际商业机器公司 Method and system for autonomically adaptive mutexes
US20090199030A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Hardware Wake-and-Go Mechanism for a Data Processing System
CN102566979A (en) * 2011-12-02 2012-07-11 华为技术有限公司 Method, device and multi-core processor system for realizing self-adaptive lock
CN105393212A (en) * 2013-08-14 2016-03-09 国际商业机器公司 Efficient task scheduling using locking mechanism
CN106462395A (en) * 2014-05-05 2017-02-22 谷歌公司 Thread waiting in a multithreaded processor architecture

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557398A (en) * 2019-09-12 2019-12-10 金蝶软件(中国)有限公司 Service request control method, device, system, computer equipment and storage medium
CN110557398B (en) * 2019-09-12 2022-05-17 金蝶软件(中国)有限公司 Service request control method, device, system, computer equipment and storage medium
US11379456B2 (en) * 2020-10-01 2022-07-05 Oracle International Corporation Efficient adjustment of spin-locking parameter values
US11868261B2 (en) 2021-07-20 2024-01-09 Oracle International Corporation Prediction of buffer pool size for transaction processing workloads
CN113676881A (en) * 2021-08-06 2021-11-19 Oppo广东移动通信有限公司 Device control method, device, electronic device and storage medium
CN113676881B (en) * 2021-08-06 2024-05-07 Oppo广东移动通信有限公司 Equipment control method, device, electronic equipment and storage medium
CN114675979A (en) * 2022-03-25 2022-06-28 阿波罗智能技术(北京)有限公司 Multitask concurrent processing method and device, electronic equipment and automatic driving vehicle

Also Published As

Publication number Publication date
CN109086124B (en) 2021-08-20

Similar Documents

Publication Publication Date Title
CN109086124A (en) Method, apparatus, electronic equipment and the storage medium of adjustment time
CN103576834B (en) Electricity-saving control method and the electronic equipment for supporting electricity-saving control method
CN106155504B (en) Mould group awakening method and device
EP3133874B1 (en) Method and apparatus for starting energy saving mode
RU2606051C2 (en) Processing method and device for application program
EP3035489B1 (en) Method and device for charge management
US20110119578A1 (en) Method of scrolling items on a touch screen user interface
CN105528055B (en) Run the processing method and processing device of object
US20140289683A1 (en) Method and apparatus for calculating channel quality adaptively in mobile communication system
CN105487680B (en) Method, apparatus and terminal for terminal screenshotss
CN104636065A (en) Method and device for awakening terminal
CN105137831B (en) Energy-saving mode open method and device
CN111240817B (en) Resource scheduling method, resource scheduling device and storage medium
US11222223B2 (en) Collecting fingerprints
CN108776624A (en) Determine the method, apparatus and storage medium of terminal interim card reason
CN106095544B (en) Central processing unit control method and device
CN106371831A (en) Awakening control method and device and terminal
CN106502740B (en) Using installation method and device
CN106201611B (en) Run the method and device of application
CN108228245A (en) The screen control method and device of a kind of mobile terminal
CN107526425A (en) A kind of electricity saving method, device and electronic equipment
US20140033231A1 (en) Electronic device with a function of alerting running applications and method thereof
CN107463478A (en) The control method and device of terminal device
CN109213264A (en) Electronic equipment, volume adjusting method and device, computer readable storage medium
CN113655984A (en) Audio playback control method, audio playback control device, and computer storage medium

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
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant