我有一個多線程環境中的c#字典。我正在使用TryGetValue進行無鎖閱讀,同時字典正在重新組織。 是否有可能得到一個完全不同的值與這個鍵無關?我的意思不只是一個不是最新的值,而是一個完全錯誤的值對應於不同的關鍵。是否有可能C#字典返回完全錯誤的值。
1
A
回答
3
簡答:是!
長答案:字典默認情況下不是線程安全的。如果你需要一個線程安全的,你可以使用ConcurrentDictionary
https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx
而且看看對線程安全的集合https://msdn.microsoft.com/en-us/library/dd997305(v=vs.110).aspx
相關問題
- 1. 是否有可能從set_trace_func返回值?
- 2. C#字典總是返回一個值
- 3. 是否有可能看到在C++中返回的值?
- 4. 是否有可能強制谷歌腳本返回404錯誤?
- 5. Log.isLoggable是否返回錯誤的值?
- 6. EventLogEntry.TimeGenerated返回完全錯誤的日期
- 7. 是否有可能知道JFrame是否完全可見?
- 8. C#安全地返回字典引用
- 9. C#返回字典
- 10. C#處理值可能(或可能不是)數組的字典
- 11. 是否有可能返回異常?
- 12. 完全可分析字典/辭典
- 13. 返回的字典值是'None'python
- 14. C - 返回值錯誤
- 15. excel.Range.Find返回錯誤值C#
- 16. 是否有可能Java String.split可以返回空字符串[]
- 17. 訪問C#字典和返回值
- 18. 是否有可能從Java中的方法返回多個值?
- 19. 是否有可能從wpf中的ivalueconverter返回多個值?
- 20. 是否有可能創建一個Tcl返回值的GUI?
- 21. 是否有可能使透明div的內容完全可見?
- 22. 是否有返回字符的UNICODE值的函數? (C++)
- 23. 使用可變鍵返回字典值
- 24. 是否有可能在SQL中有條件地返回字段?
- 25. 類方法返回字典錯誤
- 26. 元組字典返回列表錯誤?
- 27. boost :: test中是否有返回錯誤值的函數?
- 28. 是否有可能從MongoDB查詢返回計算的字段?
- 29. 是否有可能從函數的循環中返回許多值? C++
- 30. 是否有可能注入一個DLL的C#代碼並重寫返回值?
微軟參考先讓你的工作。 –
多線程和無鎖?是的,任何事都可能發生。數你自己幸運的機器沒有炸燬。 – Corak
@Corak如果它不是一個Web應用程序,請不要忽略應用程序域隔離等。 – Mathematics