Is heap memory released after the termination of a thread?

Peter Alexander peter.alexander.au at gmail.com
Thu Jun 13 06:35:53 PDT 2013


On Thursday, 13 June 2013 at 12:50:49 UTC, Vitali wrote:
> Hello,
> in [1] is said that data defined in modules, if it's not 
> shared, is copied for each thread. This means that new memory 
> for this data is allocated every time when a new thread is 
> started and when the thread terminates it is released [2].
>
> But how about the memory created by this thread on the heap? Is 
> it released, too, especialy when the garbage collector is 
> turned off?

No, it will be released at some undetermined time later by the 
garbage collector, assuming nothing else references it. Remember 
that heap references can be sent across threads using 
std.concurrency.send (if it is safe to do so).


More information about the Digitalmars-d mailing list