CN101593131A - Realize the method and apparatus of threading operation based on object pool - Google Patents

Realize the method and apparatus of threading operation based on object pool Download PDF

Info

Publication number
CN101593131A
CN101593131A CNA2008100984768A CN200810098476A CN101593131A CN 101593131 A CN101593131 A CN 101593131A CN A2008100984768 A CNA2008100984768 A CN A2008100984768A CN 200810098476 A CN200810098476 A CN 200810098476A CN 101593131 A CN101593131 A CN 101593131A
Authority
CN
China
Prior art keywords
pond
thread
subobject
binding
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2008100984768A
Other languages
Chinese (zh)
Inventor
赵奕
郑凯
王海川
高志国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CNA2008100984768A priority Critical patent/CN101593131A/en
Publication of CN101593131A publication Critical patent/CN101593131A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A kind of method that realizes threading operation based on object pool, this method comprises carries out man-to-man binding with a plurality of threads by a plurality of subobjects pond in mapping table and the global object pond, in response to the visit of thread to the global object pond, search subobject pond with the binding of this thread by this mapping table, and the global object pond is forwarded to that find and subobject pond this thread binding with the operation of thread.Utilize this method can solve the lock contention problem that occurs when a plurality of thread accesses object pools, thereby overcome the performance bottleneck that the lock contention causes, realize the concurrent visit of object pool and sharing of object.

Description

Realize the method and apparatus of threading operation based on object pool
Technical field
Relate generally to data processing of the present invention more specifically, relates to the method and apparatus of realizing threading operation based on object pool.
Background technology
A lot of modern programming language have been set up garbage collector (GC) as the object releasing mechanism.Utilize the application of this type of programming language exploitation after using, not discharge object to recover memory consumption by explicitly.In multithreaded server was used, the dead object of faster growth often triggered too frequent garbage collection operations, and this will consume too many CPU time and make performance degradation.
Traditional objects pool technology (for example built-in object pool of WebSphere) is used for used object temporary cache at object pool in order to using next time, that is, reuse object rather than it is placed directly in the garbage collector by object pool.Object put into just mean in the object pool that this object is no longer used by any module of program, is taken out by program (thread) once more up to this object from object pool.Two operation primitive to this object pool are get (perhaps getFrom), and put (perhaps putBack) is the operational semantics of the two below.
The Get operational semantics:
IF object pool non-NULL THEN
Take out an object, object is returned to thread
ELSE
Create a new object, object is returned to thread
END?IF
The Put operational semantics:
The non-full THEN of IF object pool
Object is put in the object pool
ELSE
Abandon this object
END?IF
The object pool technology of even now has reduced garbage collection operations effectively, but when moving with multithreading, the use of object pool will cause another kind of performance issue.As shown in Figure 1; when a plurality of threads will be visited single global object pond; because this object pool need lock and protect the consistance of interior data structure, so will be easy to become bottleneck of performance to the lock contention on the single object pool, the scalability of Rogue program.
For fear of above-mentioned lock contention, take a plurality of object pools to come the balance operating load and share the lock contention single global object pond.As shown in Figure 2; this scheme utilizes a load equalizer (Round Robin selector switch) to distribute (robin scheduling) visit to a plurality of object pools; each object pool is still protected by lock, by reduce single object pool lock contention probability and delay the contention frequency and increase concurrent access ability.Yet, when number of threads increased, for example greatly when surpassing the number of object pool, it does not solve locked the contention collision problem to number, and can not guarantee that thread can not attempt more continually using the one or more of these object pools than other threads, this causes serious lock contention too.
In addition, the thread local class of Java1.2 (ThreadLocal class) technology and other technical schemes of the prior art can not be supported " producer-consumer " to use a model and solve the problem that it brings.The producer-consumer uses a model and is meant: thread A always takes out object from an object pool, then this object is passed to another one thread B and uses, and thread B uses after this object, always this object is returned to another object pool.Under this use pattern, unbalanced phenomena will appear in these two sub-object pools that use, and promptly the employed private object of thread A pond can be more and more empty, and the employed private object of thread B pond can more and more be expired.
Therefore, need a kind of improved method and apparatus of realizing threading operation based on object pool, it can solve the lock contention of object pool effectively, supports a plurality of threads to the sharing of object (promptly solve " producer-consumer " use a model problem), thereby improves the production efficiency of programming development.
Summary of the invention
The objective of the invention is to solve the lock contention problem when object pool visited, thereby can carry out the concurrent visit of object pool, and realize a plurality of threads sharing object.
In order to realize above-mentioned purpose, the invention provides a kind of method that realizes threading operation based on object pool, this method comprises carries out man-to-man binding with a plurality of threads by a plurality of subobjects pond in mapping table and the global object pond, in response to the visit of thread to the global object pond, search subobject pond with the binding of this thread by mapping table, and the global object pond is forwarded to that find and subobject pond this thread binding with the operation of thread.
In addition, the present invention also provides a kind of equipment of realizing threading operation based on object pool, this equipment comprises mapping device, be used for a plurality of threads are carried out man-to-man binding by a plurality of subobjects pond in mapping table and global object pond, and retransmission unit, be used in response to the visit of thread, the operation of described thread is forwarded to that find by mapping device and subobject pond this thread binding the global object pond.
By utilizing method and apparatus provided by the invention, can solve the lock contention problem that occurs when a plurality of thread accesses object pools, thereby overcome the performance bottleneck that occurs in the programming development process, the present invention solves too owing to the problem that the producer-consumer's model is brought in addition, and the equilibrium that has realized object pool better is with shared.
Description of drawings
By below in conjunction with the description of the drawings, and along with understanding more comprehensively to of the present invention, other purposes of the present invention and effect will become clear more and easy to understand, wherein:
Fig. 1 illustrates the synoptic diagram that a plurality of threads of prior art conduct interviews to single global object pond;
Fig. 2 illustrates the synoptic diagram that a plurality of threads of prior art conduct interviews to a plurality of object pools;
Fig. 3 is the synoptic diagram that illustrates according to the method that a plurality of threads are bound one to one by a plurality of subobjects pond in mapping table and the global object pond of embodiment of the present invention;
Fig. 4 is the process flow diagram that illustrates according to the forwarding operation in the global object pond of embodiment of the present invention;
Fig. 5 illustrates according to the adjustment thread of the embodiment of the present invention synoptic diagram to the mapping relations in subobject pond;
Fig. 6 is the process flow diagram that illustrates according to the Get operation of embodiment of the present invention;
Fig. 7 is the process flow diagram that illustrates according to the Put operation of embodiment of the present invention; And
Fig. 8 illustrates to realize the equipment of threading operation according to embodiment of the present invention based on object pool.
In all above-mentioned accompanying drawings, identical label represents to have identical, similar or corresponding feature or function.
Embodiment
Below, embodiments of the present invention will be described in conjunction with the accompanying drawings.
Fig. 3 is the synoptic diagram that a plurality of threads are bound one to one by a plurality of subobjects pond in mapping table and the global object pond that illustrates according to embodiment of the present invention.In the figure, the global object pond comprises a plurality of subobjects pond (as subobject pond A, B and C etc.), the function in this global object pond comprises the interface semanteme of safeguarding single " a global object pond ", itself and not responsible concrete target cache are operated, but with the operation of thread (as thread A, B and C etc.) to object, be forwarded on the subobject pond with its binding such as operations such as Get/Put, be responsible for real Get/Put operation by the subobject pond.Here it may be noted that the present invention is not only applicable to known Get/Put operation, also is applicable to the operation of other (for example emptying object pool) and the various operations of following Application and Development.In order to solve the lock contention problem of object pool, the present invention carries out man-to-man binding with a plurality of threads by a plurality of subobjects pond in mapping table and the global object pond.As shown in FIG., thread A and subobject pond A are bound, thread B and subobject pond B are bound, and with thread C and subobject pond C binding, the rest may be inferred.Carry out this mapping table of binding one to one and can be realizing the arbitrary data structure of shining upon one to one, for example Hash table, linear list (table, chained list) continuously, heap, tree-shaped table (n pitch tree, AVL number, the B tree, B+ sets, Radix sets, RBTree) etc.The both sides of binding preferably can be the bindings between quote in thread identifier (id) and subobject pond.After man-to-man binding is carried out in thread and subobject pond, no longer share same subobject pond between a plurality of threads, promptly can the same subobject of common access pond.After this, when thread (as thread A, B and C etc.) visit global object pond, in response to the visit of thread to the global object pond, search subobject pond (as subobject pond A, B and C etc.) with the binding of this thread by mapping table, then the operation of thread is forwarded to that find and subobject pond this thread binding by the global object pond.
Fig. 4 is the process flow diagram that illustrates according to the forwarding operation in the global object pond of embodiment of the present invention.At step 402 place, this Put/Get operation beginning.At step 404 place, thread id is inquired about above-mentioned mapping table as key word, quote if find with the subobject pond of its binding, then advance to step 412, by the global object pond Get/Put operation is forwarded on the subobject pond of binding with this thread.If not finding this subobject pond in mapping table quotes, show promptly that also this thread is to visit the global object pond first, then at step 408 place, in response to not finding the subobject pond of binding with this thread, new subobject pond is created in the global object pond, and at step 410 place, will with the reference record in the new subobject pond of this thread binding in mapping table, new subobject pond and thread that this just will create are bound, thereby next time is during this thread accesses global object pond, finds subobject pond with its binding by this mapping table.Then, the Get/Put operation is forwarded to this newly-established subobject pond by the global object pond at step 412 place.It is to be noted and of the present inventionly in the global object pond, create the subobject pond and be preferred with scheme that the thread of visiting the global object pond first carries out dynamic binding it, those skilled in the art also can adopt the scheme of static binding under instruction of the present invention, a plurality of threads that are about to visit the global object pond respectively with the global object pond in existing a plurality of subobjects pond carry out man-to-man binding.In this embodiment of the present invention, also will write down the use information in subobject pond, and the use information according to the subobject pond is adjusted the mapping table of " thread-subobject pond ", promptly, adjust thread to the mapping relations in subobject pond so that the problem that the solution producer-consumer uses a model and brought hereinafter will describe in detail it.
Fig. 5 illustrates according to the adjustment thread of the embodiment of the present invention synoptic diagram to the mapping relations in subobject pond.In the block diagram of the top of this figure, thread A and thread B respectively with the global object pond in subobject pond A and subobject pond B carry out man-to-man binding.When thread A carried out the Get operation, its subobject pond A from binding took out object, then it is passed to thread B and uses.Thread B is returned to subobject pond B with its binding with this object after using this object, Here it is the producer noted earlier-consumer's model.In this case, be bundled in two subobject ponds on the thread and unbalanced phenomena will occur, as shown in FIG., object among the A of subobject pond is with fewer and feweri, and the object among the B of subobject pond will get more and more, and promptly become always empty (subobject pond A) and always full (subobject pond B) two sub-object pools.In order to overcome such defective, present embodiment proposes two object pools with always full that this is always empty and exchanges.As shown in the block diagram of Fig. 5 bottom, the subobject pond A of sky and full subobject pond B are exchanged, thereby thread A carries out the Get operation to full subobject pond B, the object that takes out is passed to thread B, after use, carry out the Put operation and be put back into empty subobject pond A by thread B, this has just solved the equalization problem between the subobject pond, and has realized that thread to the sharing of object, specifically describes this realization below in conjunction with the operation in accompanying drawing 6 and 7.
Fig. 6 is the process flow diagram that illustrates according to the Get operation of embodiment of the present invention.At step 602 place, thread accesses global object pond, and its Get that will carry out operation is forwarded to subobject pond with this thread binding by the global object pond.At step 604 place, judge whether the subobject pond of binding with this thread is empty.At step 606 place, be not empty in response to the subobject pond of judging with this thread binding, from this subobject pond, take out object, and the object that takes out is returned to thread at step 620 place.At step 608 place, be sky in response to the subobject pond of judging with this thread binding, in this empty subobject pond, create new object.In step 610, if whether the time of determining this subobject pond sky be not more than this threshold value, then advances to step 620 greater than certain threshold value, and the object of this new establishment is returned to thread.If the empty time greater than this threshold value, then in step 612, is searched the subobject pond in " total for full " subobject pool list, should write down the subobject pond that wherein object is full by " total " subobject pool list for full.If there is full subobject pond in this tabulation, then in step 616, in response to the subobject pond of determining to bind with thread is to exceed the empty time to have full subobject pond in certain threshold value and the global object pond, the mapping relations of these two sub-object pools with the thread of binding are separately exchanged, for example aforesaid thread A is tied to subobject pond B, and thread B is tied to subobject pond A, and be not the object in the subobject pond is copied.If do not exist for full subobject pond in this " total for full " subobject pool list, subobject pond that then should sky is recorded in " total for empty " subobject pool list and the object that will newly create at step 620 place returns to thread.With " total for full " subobject pool list relatively, should " total for empty " subobject pool list having write down wherein, object be empty subobject pond.
Fig. 7 is the process flow diagram that illustrates according to the Put operation of embodiment of the present invention.At step 702 place, thread accesses global object pond, and Put operation is forwarded to the subobject pond of binding one to one with this thread by the global object pond.At step 704 place, judge whether this subobject pond is full.In response to the subobject pond of judging with the thread binding is not full, at step 706 place, this object is put in this subobject pond, and is returned at step 720 place.In response to the subobject pond of judging with the thread binding is full, at step 708 place, abandons this object.At step 710 place, judge that this subobject pond is whether full time is greater than certain threshold value.If greater than certain threshold value, then in aforesaid " total " subobject pool list, search the subobject pond for empty.If find such gap object pool, then at step 716 place, in response to the subobject pond of determining and thread is bound is to exceed the full time to have empty subobject pond in certain threshold value and the global object pond, and the mapping relations of these two sub-object pools with the thread of binding are separately exchanged and return at step 720 place.Otherwise the sub symmetrical pond that this is full is recorded in " total for full " subobject pool list and at step 720 place and returns.
Fig. 8 illustrates to realize the equipment of threading operation according to embodiment of the present invention based on object pool.In the figure, described equipment comprises mapping device and retransmission unit, wherein store mapping table in the mapping device, this mapping table by mapping relations with a plurality of threads (for example, thread A, B and C etc.) carry out man-to-man binding with a plurality of subobjects pond (for example, subobject pond A, B and C etc.) in the global object pond.Mapping table preferably adopts any one in Hash table, linear list, heap or the tree-shaped table, and the two of binding preferably quote in the identifier of thread (id) and described subobject pond.Retransmission unit is used for the operation such as Get/Put of thread (or emptying other operation such as subobject pond) is forwarded to the subobject pond of binding with it.In operation, when thread accesses global object pond, mapping device is that quote in the subobject pond that binding searched with it in key word with this thread id.When mapping device finds this subobject pond to quote, the Get/Put of thread operation is forwarded to subobject pond with this thread binding by retransmission unit.The operating process (not shown) of equipment of the present invention is described below.
When mapping device does not find the subobject pond of binding with this thread, retransmission unit is created new subobject pond, and mapping device is bound this thread and new subobject pond, and retransmission unit is forwarded to new subobject pond with its binding with the Get/Put operation of this thread then.
Be operating as Get when operation when described thread, described retransmission unit judges whether that find and the subobject pond thread binding are empty, and be not sky in response to the subobject pond of judging with the thread binding, take out object from this subobject pond and return to described thread; And, in this subobject pond, create new object and return to described thread in response to judging subobject pond with thread binding for empty.In addition, be to exceed the empty time to have full subobject pond in certain threshold value and the described global object pond in response to the subobject pond of determining and thread is bound, described mapping device exchanges the mapping relations of these two sub-object pools with the thread of binding separately.
Be operating as Put when operation when described thread, described retransmission unit judges whether that find and the subobject pond thread binding are full, and in response to the subobject pond of judging with the thread binding is not full, object is put in this subobject pond, and, abandon described object in response to judging subobject pond with thread binding for full.In addition, be to exceed the full time to have empty subobject pond in certain threshold value and the described global object pond in response to the subobject pond of determining and thread is bound, described mapping device exchanges the mapping relations of these two sub-object pools with the thread of binding separately.
Equipment of the present invention can be implemented as various data processing equipments, computing equipment and the communication facilities based on the object pool technology, for example utilizes the various application servers (for example based on Websphere application server) of object pool technology, the computing machine with multinuclear (multicore) processing power, computing equipment with large-scale SMP (symmetric multiprocessor) and the communication facilities of realizing the various communication protocols that SIP for example communicates by letter.
Should be noted that for the present invention is more readily understood top description has been omitted to be known for a person skilled in the art and may to be essential some ins and outs more specifically for realization of the present invention.
The purpose that instructions of the present invention is provided is in order to illustrate and to describe, rather than is used for exhaustive or limits the invention to disclosed form.For those of ordinary skill in the art, many modifications and changes all are conspicuous.
Therefore; selecting and describing embodiment is in order to explain principle of the present invention and practical application thereof better; and those of ordinary skills are understood, under the prerequisite that does not break away from essence of the present invention, all modifications and change all fall within protection scope of the present invention defined by the claims.

Claims (18)

1. realize comprising the method for threading operation based on object pool for one kind:
A plurality of threads are carried out man-to-man binding by a plurality of subobjects pond in mapping table and the global object pond;
In response to the visit of thread, search the subobject pond of binding by mapping table with this thread to the global object pond; And
The global object pond is forwarded to that find and subobject pond this thread binding with the operation of thread.
2. method according to claim 1 further comprises:
In response to not finding the subobject pond of binding with this thread, new subobject pond is created in the global object pond; And
New subobject pond and this thread created are bound.
3. method according to claim 1, wherein said mapping table are any one in Hash table, linear list, heap or the tree-shaped table.
4. method according to claim 1 is wherein quoted the identifier of described thread and described subobject pond by described mapping table and is bound.
5. method according to claim 1, wherein said operation are the Get/Put operations.
6. method according to claim 5, wherein when described thread be operating as Get when operation, described method further comprises:
Judge whether that find and the subobject pond thread binding are empty;
In response to judging subobject pond with thread binding, return to thread from this subobject pond taking-up object with the thread binding for empty; And
In response to judging subobject pond with thread binding for empty, this with the subobject pond of thread binding in the new object of establishment and return to thread.
7. method according to claim 6, wherein when judge with the subobject pond of thread binding when empty, described method further comprises:
In response to the subobject pond of determining and thread is bound is to exceed the empty time to have full subobject pond in certain threshold value and the described global object pond, and the mapping relations of these two sub-object pools with the thread of binding are separately exchanged.
8. method according to claim 5, wherein when described thread be operating as Put when operation, described method further comprises:
Judge whether that find and the subobject pond thread binding are full;
In response to the subobject pond of judging with the thread binding is not full, and object is put in the subobject pond of binding with thread; And
In response to the subobject pond of judging with the thread binding is full, abandons described object.
9. method according to claim 8, wherein when judge with the subobject pond of thread binding when full, described method further comprises:
In response to the subobject pond of determining and thread is bound is to exceed the full time to have empty subobject pond in certain threshold value and the described global object pond, and the mapping relations of these two sub-object pools with the thread of binding are separately exchanged.
10. realize the equipment of threading operation based on object pool for one kind, this equipment comprises:
Mapping device is used for a plurality of threads are carried out man-to-man binding by a plurality of subobjects pond in mapping table and global object pond;
Retransmission unit is used in response to the visit of described thread to described global object pond, and the operation of described thread is forwarded to that find by mapping device and subobject pond this thread binding.
11. equipment according to claim 10, when mapping device did not find the subobject pond of binding with this thread, described retransmission unit was created new subobject pond, and described mapping device is bound this thread and described new subobject pond.
12. equipment according to claim 10, wherein said mapping table are in Hash table, linear list, heap or the tree-shaped table any one.
13. equipment according to claim 10 is wherein quoted the identifier of described thread and described subobject pond by described mapping table and is bound.
14. equipment according to claim 10, wherein said operation are the Get/Put operations.
15. equipment according to claim 14, wherein when described thread be operating as Get when operation, described retransmission unit is carried out following operation:
Judge whether that find and the subobject pond thread binding are empty;
In response to judging subobject pond with thread binding, return to described thread from this subobject pond taking-up object with the thread binding for empty; And
In response to judging subobject pond with thread binding for empty, this with the subobject pond of thread binding in the new object of establishment and return to described thread.
16. equipment according to claim 15, be to exceed the empty time to have full subobject pond in certain threshold value and the described global object pond in response to the subobject pond of determining and thread is bound wherein, described mapping device exchanges the mapping relations of these two sub-object pools with the thread of binding separately.
17. equipment according to claim 14, wherein when described thread be operating as Put when operation, described retransmission unit is carried out following operation:
Judge whether that find and the subobject pond thread binding are full;
In response to judging subobject pond with thread binding, object is put in this subobject pond of binding with thread for full; And
In response to the subobject pond of judging with the thread binding is full, abandons described object.
18. equipment according to claim 17, be to exceed the full time to have empty subobject pond in certain threshold value and the described global object pond in response to the subobject pond of determining and thread is bound wherein, described mapping device exchanges the mapping relations of these two sub-object pools with the thread of binding separately.
CNA2008100984768A 2008-05-28 2008-05-28 Realize the method and apparatus of threading operation based on object pool Pending CN101593131A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100984768A CN101593131A (en) 2008-05-28 2008-05-28 Realize the method and apparatus of threading operation based on object pool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100984768A CN101593131A (en) 2008-05-28 2008-05-28 Realize the method and apparatus of threading operation based on object pool

Publications (1)

Publication Number Publication Date
CN101593131A true CN101593131A (en) 2009-12-02

Family

ID=41407800

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100984768A Pending CN101593131A (en) 2008-05-28 2008-05-28 Realize the method and apparatus of threading operation based on object pool

Country Status (1)

Country Link
CN (1) CN101593131A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375780A (en) * 2011-10-25 2012-03-14 无锡城市云计算中心有限公司 Metadata cache management method in distributed file system
CN103365720A (en) * 2012-03-28 2013-10-23 国际商业机器公司 Method and system for dynamically adjusting global heap allocation in multithreading environment
CN103617025A (en) * 2013-11-27 2014-03-05 积成电子股份有限公司 Method of avoiding thread conflicts based on data isolation
CN106020822A (en) * 2016-05-18 2016-10-12 腾讯科技(成都)有限公司 Weak reference implementation method and device oriented to Pool object
CN106681838A (en) * 2016-12-30 2017-05-17 北京天健源达科技有限公司 Management method of main thread COM object and terminal device
CN106844036A (en) * 2017-02-09 2017-06-13 东软集团股份有限公司 The access method and device of physical equipment
CN107341054A (en) * 2017-06-29 2017-11-10 广州市百果园信息技术有限公司 Task executing method, device and computer-readable recording medium
CN107562891A (en) * 2017-09-05 2018-01-09 荷花科技(北京)有限公司 Database operation method and device
CN108228332A (en) * 2016-12-13 2018-06-29 北京嘀嘀无限科技发展有限公司 Object pool access method and device
CN108319505A (en) * 2017-12-18 2018-07-24 湖北鸿云科技股份有限公司 Network data communication system and method based on IOCP mechanism combinations pond fragment
CN109298901A (en) * 2018-08-29 2019-02-01 百度在线网络技术(北京)有限公司 Object processing method, device, equipment, storage medium and vehicle
CN110874269A (en) * 2019-11-07 2020-03-10 北京云杉世纪网络科技有限公司 Method and device for realizing high-performance Golang memory pool and electronic equipment

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375780B (en) * 2011-10-25 2014-07-30 无锡城市云计算中心有限公司 Metadata cache management method in distributed file system
CN102375780A (en) * 2011-10-25 2012-03-14 无锡城市云计算中心有限公司 Metadata cache management method in distributed file system
CN103365720A (en) * 2012-03-28 2013-10-23 国际商业机器公司 Method and system for dynamically adjusting global heap allocation in multithreading environment
CN103617025A (en) * 2013-11-27 2014-03-05 积成电子股份有限公司 Method of avoiding thread conflicts based on data isolation
CN103617025B (en) * 2013-11-27 2017-03-08 积成电子股份有限公司 The method that thread conflict is avoided based on data isolation
CN106020822B (en) * 2016-05-18 2019-03-26 腾讯科技(成都)有限公司 Weak reference implementation method and device towards Pool object
CN106020822A (en) * 2016-05-18 2016-10-12 腾讯科技(成都)有限公司 Weak reference implementation method and device oriented to Pool object
CN108228332B (en) * 2016-12-13 2020-12-08 北京嘀嘀无限科技发展有限公司 Object pool access method and device
CN108228332A (en) * 2016-12-13 2018-06-29 北京嘀嘀无限科技发展有限公司 Object pool access method and device
CN106681838A (en) * 2016-12-30 2017-05-17 北京天健源达科技有限公司 Management method of main thread COM object and terminal device
CN106844036A (en) * 2017-02-09 2017-06-13 东软集团股份有限公司 The access method and device of physical equipment
CN106844036B (en) * 2017-02-09 2020-03-31 东软集团股份有限公司 Physical equipment access method and device
CN107341054A (en) * 2017-06-29 2017-11-10 广州市百果园信息技术有限公司 Task executing method, device and computer-readable recording medium
CN107341054B (en) * 2017-06-29 2020-06-16 广州市百果园信息技术有限公司 Task execution method and device and computer readable storage medium
CN107562891A (en) * 2017-09-05 2018-01-09 荷花科技(北京)有限公司 Database operation method and device
CN108319505A (en) * 2017-12-18 2018-07-24 湖北鸿云科技股份有限公司 Network data communication system and method based on IOCP mechanism combinations pond fragment
CN109298901A (en) * 2018-08-29 2019-02-01 百度在线网络技术(北京)有限公司 Object processing method, device, equipment, storage medium and vehicle
CN109298901B (en) * 2018-08-29 2022-05-31 百度在线网络技术(北京)有限公司 Method, device and equipment for processing objects in unmanned vehicle, storage medium and vehicle
CN110874269A (en) * 2019-11-07 2020-03-10 北京云杉世纪网络科技有限公司 Method and device for realizing high-performance Golang memory pool and electronic equipment

Similar Documents

Publication Publication Date Title
CN101593131A (en) Realize the method and apparatus of threading operation based on object pool
Zhou et al. DPTree: Differential indexing for persistent memory
CN102999522B (en) A kind of date storage method and device
Larson et al. Memory allocation for long-running server applications
US9396226B2 (en) Highly scalable tree-based trylock
DE102020007986A1 (en) PROACTIVE PRELIMINARY DATA CALL WITH APPLIED QUALITY OF SERVICE
CN101238441B (en) Pre-emptible context switching method in a computing device
CN104750460B (en) Hyperthread microprocessor middle longitude journey priority provides service quality
US7624246B2 (en) Method and system for memory allocation in a multiprocessing environment
CN104077113A (en) Method for achieving unlocked concurrence message processing mechanism
CN105468298B (en) A kind of key assignments storage method based on log-structured merging tree
CN1722110A (en) Low latency time memorizer system access
WO2012091702A1 (en) Accelerating cache state transfer on a directory-based multicore architecture
CN101324851A (en) Method and apparatus of thread scheduling
CN101799773A (en) Memory access method of parallel computing
CN101286878A (en) Management method of memory pool for terminal
Chen et al. Efficient GPU hardware transactional memory through early conflict resolution
DE102013202995A1 (en) Energy savings in branch forecasts
CN104536911A (en) Multi-path set-connection cache memory and processing method thereof
DE102020132140A1 (en) Pipelines for secure multithreaded execution
CN105393210A (en) Memory unit for emulated shared memory architectures
CN102110073A (en) Replacement device and method for chip shared cache and corresponding processor
CN101763390A (en) Database storing system and method based on Berkeley DB
CN102681890A (en) Restrictive value delivery method and device applied to thread-level speculative parallelism
Balasubramanian et al. cDLRM: Look ahead caching for scalable training of recommendation models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20091202