繁体   English   中英

Appdomain与流程的性能优势?

[英]Performance benefits of Appdomain vs process?

我有一个C#应用程序(foo),从中我可以调用另一个C#应用程序(栏)。 目前,我正在通过使用C#的Process类创建新进程来从foo应用程序中调用bar应用程序。

最近,我开始了解.net AppDomains。 我想知道使用AppDomains而不是流程会对性能产生任何好处?

谢谢并恭祝安康,

在Windows中,简单地创建一个新进程会产生一些无关紧要的开销,是的。 这就是为什么CGI在Windows上历来不如在其他操作系统上表现出色的原因(也是为什么开发FastCGI的重要原因)

但是,我想问一下您将多久创建一次这些额外的“工作”? 如果要经常使用它,是否有不能简单地使用线程池线程的原因? 如果根本不会经常使用它,那么与花时间弄清楚如何使其工作相比,您将获得的收益将是微不足道的。


IMO,单独的AppDomain倾向于具有某些特定情况,要求在整个过程或简单线程中使用它们。 通常最好选择一种方式。

在.net框架中创建进程不是托管进程,CLR必须咨询基础OS来启动新进程,而启动新进程具有一些已定义的步骤,因此可能会导致性能下降,但是多少却没有衡量标准。

但是,如果您将DLL加载到新的AppDomain中,则它将位于您的应用程序进程内,并且不需要完整的Flash进程集。

所以要看你好吗

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM