首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个mono_jit_init/mono_jit_cleanup问题

多个mono_jit_init/mono_jit_cleanup问题
EN

Stack Overflow用户
提问于 2012-05-18 18:48:49
回答 1查看 806关注 0票数 0

我正在开发一些应用程序,在这些应用程序中我需要多次调用mono_jit_init。当我第一次运行我的应用程序时,我执行mono_jit_init,然后mono_jit_cleanup一切正常,当我再次尝试执行mono_jit_init时出现问题(这次加载不同的运行时这是我的要求:()。在mono网站上提到,我们应该在一个进程中初始化一次mono运行时。我已经搜索了这个问题,但没有找到任何有效的解决方案。所以,我想知道有没有可能解决这个问题?另外,如果可能的话,有人能解释一下为什么不支持多次mono_jit_init吗?是否与某些GC清理问题有关?

EN

回答 1

Stack Overflow用户

发布于 2012-08-31 15:25:15

查看Mono源代码,崩溃似乎与Mono运行时的初始化方式有关(依赖于置零的变量)。

因此,您必须在运行时的生命周期中调用mono_jit_init()一次。

如果库是静态加载的,这意味着您的应用程序的生命周期,但如果Mono运行时是通过dl_open()动态加载的,则只有一个加载/卸载周期。除了缓存Mono函数指针的额外工作外,这种变通方法可能不适用于运行并发Mono任务。

另一种继续的方法(支持并发运行)是缓存运行时上下文以供进一步使用,而不是使用mono_jit_init()重复创建它。你将不得不使用一个专用的Mono domain来做一些奇特的事情,比如卸载assemblies

总会有解决方案的。它只是需要时间来找到一个最适合你的需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10651230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档