c# - Appdomain 与流程的性能优势?

标签 c# .net process appdomain

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

最近我开始了解 .net AppDomains。我想知道使用 AppDomains 而不是进程是否有任何性能优势?

感谢和问候,

最佳答案

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

但是,我想问一下,您将多久创建一次这些额外的“工作”?如果它会非常频繁,是否有理由不能简单地使用线程池线程?如果它根本不会频繁出现,那么与您花在弄清楚如何让它发挥作用所花费的时间相比,您获得的好处将是微不足道的。


IMO,单独的 AppDomains 往往有一些特定的情况需要在完整的进程或简单的线程上使用它们。通常最好选择一种方式。

关于c# - Appdomain 与流程的性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544606/

相关文章:

.net - RESTful服务特定场景的最佳实践

c# 添加多个文件到列表

java - Java 中的 FFMPEG 问题

c# - C#获取登录用户名

C# - 从在线 xml 文件中获取数据

c# - 在 nuget 包中显示评论

c# - 在 filenotfound 上捕获异常

.net - 大文件 (30Mb+) 通过 Internet 上传,有什么更好的选择?

Python多处理队列使代码卡在大数据上

android - 在 onCreateView 中显示 "Loading..."对话框