(Embedded Mono) Параллельная активация доменов - PullRequest
7 голосов
/ 13 апреля 2011

Мне интересно, возможно ли активировать несколько доменов Mono и выполнять их параллельно из собственного кода :

Я использую следующий код для активации домена:

///Create a new domain.
m_domain = mono_domain_create();

///Activate the domain.
mono_domain_set(m_domain, 0);
///Invoke some function ...
mono_runtime_invoke (m_method, m_objectInstance, NULL, &exception);

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Да, это можно сделать. Учитывая, что виртуальный исполняемый файл Mono работает вместе с приложением C, когда он встроен (и использует одно и то же адресное пространство), лучшим подходом будет запуск каждого домена в отдельном процессе. Самый простой способ сделать это состоит в том, чтобы ваш код занимал несколько процессов, и каждый процесс управлял бы отдельным экземпляром домена Mono. Вам нужно написать код для координации межпроцессного взаимодействия, в частности, очистки и выключения приложения.

1 голос
/ 13 апреля 2011

С точки зрения .NET я бы сказал: да

Интернет-архивам удалось вернуть этот некогда вездесущий ресурс:

http://replay.waybackmachine.org/20070228090021/http://www.gotdotnet.com/team/clr/AppdomainFAQ.aspx

...