Mattias Gärtner schrieb: > Zitat von Jonas Maebe <[email protected]>: > >> Michael Schnell wrote on Thu, 15 Jul 2010: >> >>> Did somebody take a look at FastMM for Delphi ? ( >>> http://sourceforge.net/projects/fastmm/ ) >>> >>> Same seems to use a nice paradigm doing the Memory management for >>> threaded applications. >> >> Then please explain that paradigm, since apparently you already looked >> at it. >> >> In return, I will explain the FPC heap manager's paradigm: per thread, >> there is a separate heap manager so that in most cases no >> synchronisation is required. Only if memory is allocated in one thread >> and freed in another, then it will be added to a global locked >> structure. When a thread runs out of memory in its pools, it will >> first check this global (synchronised) structure before asking for >> more memory from the OS. > > Does that mean, if I let a worker thread create strings, pass them to > the main thread, free the worker thread and unreference the strings in > the main thread the global structure will grow and grow?
No, because the worker thread looks into the global structure when it runs out of "local" space. _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
