Nyelv

ReaderWriterLockSlim.TryEnterUpgradeableReadLock Metódus

Definíció

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.

A következőre érvényes: