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).