Re[5]: Выгружаемые модули
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 09.08.23 12:59
Оценка:
Здравствуйте, novitk, Вы писали:


N>>>В wasm будет нужна полная копия рантайма со своим gc и плюшками? Тогда это такой же костыль как запуск CPython внутри .net/jvm.

S>>Кстати, а в чем отличие от AppDomain ?
N>Мне казалось, что эксперт по .NET тут ты, а не я.
N>В AppDomain была изоляция внутри одной VM с полным переизпользования кода, jit, единным gc и т.д. Это кстати реально rocketscience, корни росли отсюда.
N>Почему убрали в Core я . Мое имхо — в реальной жизни было маловостребовано так как включения даже маленького куска unmanaged убивает изоляцию.
Во!
https://www.rsdn.org/article/dotnet/appdomains.xml
Для каждого домена создаётся свой собственный экземпляр сборщика мусора, свои собственные настройки безопасности и собственные статические переменные.

Загрузка сборок в каждый домен происходит независимо. Таким образом, в каждом домене будет свой собственный экземпляр класса Assembly, даже если они используют одну и ту же сборку. Однако существует способ добиться того, чтобы код загружаемых сборок совместно использовался (share) разными доменами. Сборка, используемая совместно несколькими доменами, называется нейтральной по отношению к домену (domain-neutral). Режим доступа к сборкам может быть одним из трех:

Режим, в котором нейтральность к домену обеспечивается только для mscorlib.dll. Это поведение по умолчанию. Используется в случае однодоменного приложения.
Нейтральность к домену для всех сборок. Этот режим рекомендуется использовать для мультидоменных приложений, в каждом из доменов которых выполняется один и тот же код.
Нейтральность к домену для всех сборок со строгим (strong) именем. Этот режим рекомендуется использовать для мультидоменных приложений, в каждом из доменов которых выполняется разный код.

и солнце б утром не вставало, когда бы не было меня
Отредактировано 09.08.2023 13:01 Serginio1 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.