ReaderWriterLockSlim.TryEnterUpgradeableReadLock 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.
Frissíthető módban próbál meg belépni a zárolásba, opcionális időtúllépéssel.
Túlterhelések
| Name | Description |
|---|---|
| TryEnterUpgradeableReadLock(Int32) |
Frissíthető módban próbál meg belépni a zárolásba, opcionális időtúllépéssel. |
| TryEnterUpgradeableReadLock(TimeSpan) |
Frissíthető módban próbál meg belépni a zárolásba, opcionális időtúllépéssel. |
TryEnterUpgradeableReadLock(Int32)
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
Frissíthető módban próbál meg belépni a zárolásba, opcionális időtúllépéssel.
public:
bool TryEnterUpgradeableReadLock(int millisecondsTimeout);
public bool TryEnterUpgradeableReadLock(int millisecondsTimeout);
member this.TryEnterUpgradeableReadLock : int -> bool
Public Function TryEnterUpgradeableReadLock (millisecondsTimeout As Integer) As Boolean
Paraméterek
- millisecondsTimeout
- Int32
A várakozni kívánt ezredmásodpercek száma, vagy -1 (Infinite) a határozatlan ideig történő várakozáshoz.
Válaszok
true ha a hívószál frissíthető módba lépett, ellenkező esetben false.
Kivételek
A RecursionPolicy tulajdonság az, NoRecursion és az aktuális szál már belépett a zárolásba.
-vagy-
Az aktuális szál kezdetben olvasási módban lépett be a zárolásba, ezért a frissíthető módba való belépéssel holtpontot teremthet.
-vagy-
A rekurziós szám meghaladná a számláló kapacitását. A korlát olyan nagy, hogy az alkalmazások soha nem találkozhatnak vele.
Az érték millisecondsTimeout negatív, de nem egyenlő Infinite (-1), ami az egyetlen megengedett negatív érték.
Az ReaderWriterLockSlim objektumot megsemmisítették.
Megjegyzések
Ha millisecondsTimeout 0 (nulla), ez a módszer ellenőrzi a zárolási állapotot, és azonnal visszaadja false , ha a kívánt állapot nem érhető el.
Frissíthető módot akkor használjon, ha egy szál általában hozzáfér az olvasási módban védett ReaderWriterLockSlim erőforráshoz, de bizonyos feltételek teljesülése esetén előfordulhat, hogy írási módba kell lépnie. A frissíthető módban lévő szálak írási módra frissíthetnek, vagy olvasási módra válthatnak.
Egy adott időpontban csak egy szál tud belépni egy zárba frissíthető módban. Ha egy szál frissíthető módban van, és nincsenek olyan szálak, amelyek írási módba való belépésre várnak, akkor is számos más szál léphet be olvasási módba, még akkor is, ha vannak olyan szálak, amelyek a frissíthető módba való belépésre várnak.
Ha egy vagy több szál írási módra vár, a metódust meghívó szál addig blokkolja a TryEnterUpgradeableReadLock metódust, amíg a szálak időtúllépést vagy írási módot nem adnak meg, majd kilépnek belőle, vagy amíg a hívó szál saját időtúllépési időköze el nem jár.
Note
Ha a zárolás lehetővé teszi a rekurziót, a zárolást frissíthető módban belépett szálak rekurzív módon léphetnek be, még akkor is, ha más szálak írási módra várnak.
A következőre érvényes:
TryEnterUpgradeableReadLock(TimeSpan)
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
- Forrás:
- ReaderWriterLockSlim.cs
Frissíthető módban próbál meg belépni a zárolásba, opcionális időtúllépéssel.
public:
bool TryEnterUpgradeableReadLock(TimeSpan timeout);
public bool TryEnterUpgradeableReadLock(TimeSpan timeout);
member this.TryEnterUpgradeableReadLock : TimeSpan -> bool
Public Function TryEnterUpgradeableReadLock (timeout As TimeSpan) As Boolean
Paraméterek
- timeout
- TimeSpan
A várakozási időtartam, vagy -1 ezredmásodperc a határozatlan ideig történő várakozáshoz.
Válaszok
true ha a hívószál frissíthető módba lépett, ellenkező esetben false.
Kivételek
A RecursionPolicy tulajdonság az, NoRecursion és az aktuális szál már belépett a zárolásba.
-vagy-
Az aktuális szál kezdetben olvasási módban lépett be a zárolásba, ezért a frissíthető módba való belépéssel holtpontot teremthet.
-vagy-
A rekurziós szám meghaladná a számláló kapacitását. A korlát olyan nagy, hogy az alkalmazások soha nem találkozhatnak vele.
Az érték timeout negatív, de nem egyenlő -1 ezredmásodpercekkel, ami az egyetlen megengedett negatív érték.
-vagy-
Az érték timeout nagyobb, mint az Int32.MaxValue ezredmásodperc.
Az ReaderWriterLockSlim objektumot megsemmisítették.
Megjegyzések
Ha timeout 0 (nulla), ez a módszer ellenőrzi a zárolási állapotot, és azonnal visszaadja false , ha a kívánt állapot nem érhető el.
Frissíthető módot akkor használjon, ha egy szál általában olvasási módban fér hozzá az ReaderWriterLockSlim erőforráshoz, de bizonyos feltételek teljesülése esetén előfordulhat, hogy írási módba kell lépnie. A frissíthető módban lévő szálak írási módra frissíthetnek, vagy olvasási módra válthatnak.
Egy adott időpontban csak egy szál tud belépni egy zárba frissíthető módban. Ha egy szál frissíthető módban van, és nincsenek olyan szálak, amelyek írási módba való belépésre várnak, akkor is számos más szál léphet be olvasási módba, még akkor is, ha vannak olyan szálak, amelyek a frissíthető módba való belépésre várnak.
Ha egy vagy több szál írási módra vár, a metódust meghívó szál addig blokkolja a TryEnterUpgradeableReadLock metódust, amíg a szálak időtúllépést vagy írási módot nem adnak meg, majd kilépnek belőle, vagy amíg a hívó szál saját időtúllépési időköze el nem jár.
Note
Ha a zárolás lehetővé teszi a rekurziót, a zárolást frissíthető módban belépett szálak rekurzív módon léphetnek be, még akkor is, ha más szálak írási módra várnak.