D использует сборщик мусора stop-the-world , что означает, что он должен иметь возможность приостанавливать все потоки, которые обращаются к памяти, управляемой D, во время сбора. Для этого у среды выполнения должен быть список этих потоков.
Руководство D2 для Написание Win32 DLL в D содержит инструкции по добавлению обработчиков DLL_THREAD_ATTACH / DLL_THREAD_DETACH для уведомления о времени выполнения новых потоков, однако версия статьи D1 только упоминает, что Msgstr "Несколько потоков пока не поддерживаются". Таким образом, если вы вынуждены использовать D1, вам, вероятно, придется синхронизировать все точки входа вашей DLL (экспортируемые функции), используя глобальную блокировку, или как-то иначе позаботиться о синхронизации.