Re: Multithreaded GC!

Tech-Archive recommends: Speed Up your PC by fixing your registry



"Ben Voigt [C++ MVP]" <rbv@xxxxxxxxxxxxx> wrote in message news:%23O9fDGZbIHA.4712@xxxxxxxxxxxxxxxxxxxxxxx
True, if you have more threads running than actual processors, you
will share a heap across multiple threads, not sure what you mean
with "synchronize their allocations" though.

If multiple user threads can share a single heap then they cannot
allocate from it independently: their allocations must be
synchronized using a lock.
But Ben Voigt said that no locks were used during allocation.


"object allocation" is nothing more than bumping a pointer in an
atomic operation.

Right. Because the Gen0/Gen1/Gen2 heaps... aren't. They are really stacks.


Yep the back-end is, but with a complex front-end.

Willy.

.



Relevant Pages

  • Re: Multithreaded GC!
    ... with "synchronize their allocations" though. ... If multiple user threads can share a single heap then they cannot ...
    (microsoft.public.dotnet.languages.csharp)
  • Locking access to all data members
    ... from multiple threads. ... I would like to synchronize the access to all ... lock. ... self.status = "waiting" ...
    (comp.lang.python)
  • Re: [PATCH 2.6.18-rc4 00/10] Kernel memory leak detector 0.9
    ... events/0/8 is trying to acquire lock: ... The kmemleak+slab locking is a bit complicated because memleak itself ... pointer_cache and the radix_tree allocations). ... would lead to deadlock because of the recursive call into kmemleak. ...
    (Linux-Kernel)
  • Re: D2006 Hyperthreading Win32
    ... > Critical sections are very often used in applications and the Win32 ... most Memory Managers (including FastMM - which is the ... locks for small, medium, and large allocations. ... to obtain a lock for the size it needs, it can try to obtain a lock for ...
    (borland.public.delphi.non-technical)
  • Re: D2006 Hyperthreading Win32
    ... locks for small, medium, and large allocations. ... If a request is unable to obtain a lock for the size it needs, it can try to obtain a lock for a larger size before waiting. ...
    (borland.public.delphi.non-technical)