我是SyncRoot概念的新手。據我所知,用於鎖定的對象應該是私有的。SyncRoot對象是否真的線程安全?
但是HashTable
有一個公共屬性,SyncRoot
,它只是一個私人SyncRoot對象的包裝。枚舉集合時,您鎖定HashTable.SyncRoot
的是recommended。
看起來我們可能因爲死鎖而失敗,因爲它不再是私人的。它真的是線程安全的嗎?
如果我使自己的私人鎖定機制呢? private readonly object _syncObject;
哪一個更好?爲什麼?
你能告訴我任何可以使用它的場景嗎?因爲我覺得SyncRoot屬性只是一個包裝,因此是線程安全漏洞。 – 2012-01-06 12:21:20