不知道它是如何工作的,但我有一個問題: - 是否靜態使應用程序的緩慢,因爲同一個變量或方法在整個應用程序共享,並且當一個請求使用方法或變量另一種必須等待它被釋放。是否靜態讓它慢
Q
是否靜態讓它慢
3
A
回答
5
不,不。此外,.NEt不會因爲您同時從程序的不同部分訪問變量而自動鎖定變量。你將不得不自己實現鎖定。
5
不,不。它只是使應用程序線程不安全。如果你想要它是安全的,你必須鎖定函數/變量,然後是的,它必須等待。 (這隻對多線程的環境中,如果你只使用一個線程,也不要緊,因爲功能不能同時運行「兩次」)
+2
關於內存消耗什麼?太多的靜態變量可能需要大量內存,最終會減慢操作系統的速度(因爲靜態變量不會被GC收集)。 – 2009-12-02 12:05:14
相關問題
- 1. 讓GUI靜態或不是
- 2. * .lib - 是否靜態?
- 3. 是否machine.config是靜態的?
- 4. 爲什麼說方法不是靜態時它是靜態的?
- 5. paddingFactor是否讓我的更新變慢?
- 6. InnoDB是否有靜態表?
- 7. 使用「最終靜態」還是「靜態最終」是否正確?
- 8. 非靜態方法說它的靜態?
- 9. 我是否必須包含靜態類才能使用它
- 10. cmake檢查庫是否是靜態的
- 11. 使用靜態類,比立即使用它慢嗎?
- 12. 公共靜態與靜態公共 - 是否有區別?
- 13. 在非靜態類中鎖定靜態變量是否安全?
- 14. PHP - 是否可以聲明靜態和非靜態方法
- 15. PHP靜態字段是否真實靜態?
- 16. 靜態後期綁定是否需要重載靜態變量?
- 17. 我應該讓lambda靜態?
- 18. 是t1靜態還是非靜態?
- 19. 服務靜態文件,如果它存在,否則創建它
- 20. 靜態新手:靜態類/方法中的非靜態變量是否意味着靜態?
- 21. 我是否正確使用靜態?
- 22. 是否有替代getClass()。getResource()靜態ImageIcon
- 23. 是否需要刪除靜態向量?
- 24. 靜態成員是否被繼承?
- 25. 靜態成員是否可以超載?
- 26. 檢查類是否有靜態方法
- 27. 靜態成員是否輸入對象?
- 28. 檢測Callable是否爲靜態
- 29. 是否繼承了靜態變量
- 30. 線程安全對象 - 是否靜態?
@Maxmimilian感謝您的答覆,我還發現,所有的靜態變量存儲在堆中,因爲它們不限於任何對象的範圍,因此GC將不收取任何的靜態成員,直到應用程序域現在可以慢關閉系統我想 – 2009-12-02 13:18:21