2011-04-02 67 views

回答

3

D使用stop-the-world garbage collector,这意味着它需要能够在收集期间暂停所有访问D管理内存的线程。为了做到这一点,运行时必须有这些线程的列表。

的D2指引Writing Win32 DLLs in D对增加DLL_THREAD_ATTACH/DLL_THREAD_DETACH处理通知的新线程的运行时间指令,但是the D1 version of the article只提到,“多个线程,不支持呢。”因此,如果你被迫使用D1,你可能必须使用全局锁定来同步所有DLL的入口点(导出的函数),或者以某种方式处理同步。

相关问题