簡體   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