Предположим, у меня есть .NET dll с классом 'B' и функцией 'C'.
У меня есть многопоточная .NET-программа, которая ссылается на dll.
Каждый поток создает экземпляр класса «B» и вызывает функцию «C». После создания класса «B» выделяет все свои переменные в куче. Эти переменные используются функцией 'C'.
Создает ли это отдельный экземпляр класса (то есть безопасно ли вызывать функцию 'C' в каждом из потоков основной программы) или мне придется каким-то образом динамически загружать DLL.
(Другими словами, .NET DLL ведет себя как функция Win32 LoadLibrary (подсчет ссылок), где вы должны присвоить одной dll разные имена, а затем загрузить их, чтобы создать отдельные экземпляры.)