2012-04-13 5 views
2

У меня есть многопоточное приложение, которое активирует несколько доменов Mono из собственного кода. У каждого домена есть своя тема. Я использую следующий код для активации домена:Выгрузка монопольных доменов в многопоточном контексте

///Create a new domain. 
m_domain = mono_domain_create_appdomain((char*) name.c_str(), NULL); 

///Activate the domain. 
mono_domain_set(m_domain, 0); 

///Register the current thread 
mono_thread_attach(m_domain); 

///Invoke some code ... 
mono_runtime_invoke (m_method, m_objectInstance, NULL, &exception); 

Но когда я выгрузить домен аварии приложения:

mono_domain_unload(m_domain); 

Когда я выполняю код без резьбы, домены приложений выгружаются правильно.

ответ

1

я звоню функцию mono_assembly_close до mono_domain_unload:

mono_assembly_close(m_assembly); 

Так что я удалил этот вызов и создали критическую секцию для кода разгрузки.

Смежные вопросы