Thread is "limited" to local storage, so static variables (including the ones marked as __gshared in D) which are globals are shared between the threads. So, calling not pure functions which depend upon global variables prevent parallization for that global-dependence.
(please tell me I got anything wrong on this).

My question is:

Is there some mechanism to make a thread or whatnot run entirely in a new memory space context, including create their own globals rather share exising ones, exactly as a new process does?
I hope my question is clear. Thanks in advance.

  • run "thread" with memory s... Dr.No via Digitalmars-d-learn

Reply via email to