我用C#编写了一个应用程序。 有几种方法是静态的。 我们同时运行了几个C#应用程序。
事实:我的两位同事告诉我,如果我们运行2个或更多具有这些静态方法的C#应用程序,应用程序将变慢,因为每个应用程序必须在应用程序的每个实例之间共享静态方法。 / p>我认为这是完全错误的,并希望得到别人的意见。
由于应用程序必须“共享”静态方法的声明,运行具有静态方法的同一C#应用程序的2个或更多实例是否会变慢?
答案 0 :(得分:6)
你的同事是完全错误的。
开玩笑说,每个应用程序都将使用静态方法加载程序集。除了相同的库引用之外,它们并不是真正“共享”任何东西。例如,Windows应用程序肯定会共享对许多相同静态方法的调用,但它们(表面上)并没有因此而减慢。
答案 1 :(得分:0)
Mailman是对的。 如果在程序的同一个运行实例中有多个类的实例,则静态成员/变量在这些类实例之间共享,但仍然不会导致您减速。