Приложения, использующие OpenGL
- 1 year ago
- 0
- 0
Домен приложения — это механизм, реализованный в .NET , который позволяет запустить группу приложений в одном процессе , обеспечивая относительную изоляцию их друг от друга, в то же время позволяя им взаимодействовать друг с другом значительно быстрее, чем в случае отдельных процессов. В Win32 каждое приложение может состоять из одного или нескольких процессов , каждый из которых в свою очередь может порождать один или несколько потоков , таким образом для неуправляемого кода роль изолированной среды выполняет исключительно процесс, а в .NET роль изолированной среды выполняет домен приложения.
Домен полностью изолирует используемые в его рамках ресурсы от других доменов того же процесса.
Один процесс может содержать любое число доменов приложения, каждый из которых полностью изолирован от других доменов приложения в рамках данного процесса (а также любого другого процесса). С учетом этого следует понимать, что приложение, выполняющееся в одном домене приложения, не может получить данные (в частности, значения глобальных переменных или статических полей) другого домена приложения иначе, как с помощью протокола удаленного взаимодействия .NET. Для платформы .NET не предполагается прямого однозначного соответствия между доменами приложения и потоками. Напротив, домен приложения может иметь множество потоков, выполняющихся в рамках этого домена в любой момент времени. Кроме того, конкретный поток не привязан к одному домену приложения в течение всего времени существования потока. Потоки могут пересекать границы домена приложения, подчиняясь правилам потоков Win32 и целесообразности CLR. Но, хотя активные потоки могут перемещаться через границы доменов приложения, в любой конкретный момент времени один конкретный поток может выполняться в рамках только одного домена приложения (другими словами, один поток не может работать в нескольких доменах приложения одновременно).