ReaderWriterLockSlim.ExitWriteLock Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Csökkenti az írási mód rekurziós számát, és kilép az írási módból, ha az eredményül kapott szám 0 (nulla).
public:
void ExitWriteLock();
public void ExitWriteLock();
member this.ExitWriteLock : unit -> unit
Public Sub ExitWriteLock ()
Kivételek
Az aktuális szál nem írási módban lépett be a zárolásba.
Példák
Az alábbi példa bemutatja, hogyan lehet blokkot finally használni a ExitWriteLock metódus végrehajtásához, biztosítva, hogy a hívó kilépjen az írási módból. A példában látható metódus új kulcs-érték párokat ad hozzá a szinkronizált gyorsítótárhoz. Ha a kulcs már szerepel a gyorsítótárban, a belső Dictionary<TKey,TValue> által okozott kivétel megszakíthatja a metódust. Ezzel EnterWriteLock a módszerrel írható módban lehet belépni a zárolásba.
Ez a kód egy nagyobb, az ReaderWriterLockSlim osztályhoz tartozó példa része.
private ReaderWriterLockSlim cacheLock = new ReaderWriterLockSlim();
private Dictionary<int, string> innerCache = new Dictionary<int, string>();
Private cacheLock As New ReaderWriterLockSlim()
Private innerCache As New Dictionary(Of Integer, String)
public void Add(int key, string value)
{
cacheLock.EnterWriteLock();
try
{
innerCache.Add(key, value);
}
finally
{
cacheLock.ExitWriteLock();
}
}
Public Sub Add(ByVal key As Integer, ByVal value As String)
cacheLock.EnterWriteLock()
Try
innerCache.Add(key, value)
Finally
cacheLock.ExitWriteLock()
End Try
End Sub
Megjegyzések
Ez a módszer nem érzékeny a rekurziós sorrendre. Ha például egy szál frissíthető módban lép be egy zárba, majd írási módban adja meg a zárolást, az a sorrend, amelyben a szál kilép a két módból, nem számít. Ha a zárolás lehetővé teszi a rekurziót, a szálak írási módban léphetnek be a zárolásba, majd rekurzívan beírhatják olvasási módban; az a sorrend, amelyben a szál kilép az olvasási és írási módból, nem számít.
A zárolásból való kilépés más várakozási szálakat is jelezhet.