Информация об изменениях

Сообщение Re[5]: Выгружаемые модули от 09.08.2023 12:59

Изменено 09.08.2023 13:01 Serginio1

Re[5]: Выгружаемые модули
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, Serginio1, Вы писали:


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) именем. Этот режим рекомендуется использовать для мультидоменных приложений, в каждом из доменов которых выполняется разный код.

Re[5]: Выгружаемые модули
Здравствуйте, 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) именем. Этот режим рекомендуется использовать для мультидоменных приложений, в каждом из доменов которых выполняется разный код.