我有一个 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/