2011-04-02 73 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的入口點(導出的函數),或者以某種方式處理同步。

相關問題