不知道它是如何工作的,但我有一个问题: - 是否静态使应用程序的缓慢,因为同一个变量或方法在整个应用程序共享,并且当一个请求使用方法或变量另一种必须等待它被释放。是否静态让它慢
Q
是否静态让它慢
3
A
回答
5
不,不。此外,.NEt不会因为您同时从程序的不同部分访问变量而自动锁定变量。你将不得不自己实现锁定。
5
不,不。它只是使应用程序线程不安全。如果你想要它是安全的,你必须锁定函数/变量,然后是的,它必须等待。 (这只对多线程的环境中,如果你只使用一个线程,也不要紧,因为功能不能同时运行“两次”)
+2
关于内存消耗什么?太多的静态变量可能需要大量内存,最终会减慢操作系统的速度(因为静态变量不会被GC收集)。 – 2009-12-02 12:05:14
相关问题
- 1. 非静态方法说它的静态?
- 2. cmake检查库是否是静态的
- 3. 公共静态与静态公共 - 是否有区别?
- 4. 在非静态类中锁定静态变量是否安全?
- 5. PHP静态字段是否真实静态?
- 6. 静态后期绑定是否需要重载静态变量?
- 7. 是t1静态还是非静态?
- 8. 静态新手:静态类/方法中的非静态变量是否意味着静态?
- 9. 是否继承了静态变量
- 10. 是否允许使用静态setter/getters?
- 11. 是否需要删除静态向量?
- 12. CLR是否支持静态接口?
- 13. 线程安全对象 - 是否静态?
- 14. 制作静态方法是否同步
- 15. 检测Callable是否为静态
- 16. 静态成员是否被继承?
- 17. 是否使用静态类或不
- 18. 检查类是否有静态方法
- 19. 静态委托是否线程安全?
- 20. MacRuby是否支持静态编译?
- 21. 静态成员是否可以超载?
- 22. DLL比静态链接慢吗?
- 23. 使用Javascript - 不能让静态引用非静态函数
- 24. 静态Mutext和不是静态互斥
- 25. 静态...不是真的静态
- 26. PHP静态不是那么静态
- 27. “公共静态”还是“静态公共”?
- 28. AddTimestampToStaticLinks是否缓慢?
- 29. 静态类中的匿名方法是非静态的?如何调用它?
- 30. 在C++中,静态对象是否可以超出其静态成员变量?
@Maxmimilian感谢您的答复,我还发现,所有的静态变量存储在堆中,因为它们不限于任何对象的范围,因此GC将不收取任何的静态成员,直到应用程序域现在可以慢关闭系统我想 – 2009-12-02 13:18:21