June 01, 2018
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.

June 01, 2018
On Friday, 1 June 2018 at 19:16:46 UTC, Dr.No wrote:
> exactly as a new process does?

Why not just create a real process?