<div dir="ltr">Generally speaking the allocation algorithm depends on the language, the OS doesn't have a lot to do with it.  Anything linked against libc (that is, any C program), however, will use the allocator in libc which we do control.  That allocator allocates per-thread zones.<div><br></div><div>That said, the memory allocator itself, no matter what the language, is still just allocating memory that is shared across all the threads.  No copying is involved.  All the threads share the same address space.  Any locking is up to the program (or the language) itself.</div><div><br></div><div>-Matt</div></div>