Doesn't D have mutexes? Or better: What is the advantage of synchronized over the use of mutexes? Could you explain this line: static this() { lock=new Object; } Does this mean I need to enable the GC?(I mean, not disable it :)