Zitat von Jonas Maebe <jonas.ma...@elis.ugent.be>:
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?
Mattias
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel