ReaderWriterLockSlim Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.
public ref class ReaderWriterLockSlim : IDisposable
public class ReaderWriterLockSlim : IDisposable
type ReaderWriterLockSlim = class
interface IDisposable
Public Class ReaderWriterLockSlim
Implements IDisposable
- Inheritance
-
ReaderWriterLockSlim
- Implements
Remarks
For more information about this API, see Supplemental API remarks for ReaderWriterLockSlim.
Constructors
ReaderWriterLockSlim() |
Initializes a new instance of the ReaderWriterLockSlim class with default property values. |
ReaderWriterLockSlim(LockRecursionPolicy) |
Initializes a new instance of the ReaderWriterLockSlim class, specifying the lock recursion policy. |
Properties
CurrentReadCount |
Gets the total number of unique threads that have entered the lock in read mode. |
IsReadLockHeld |
Gets a value that indicates whether the current thread has entered the lock in read mode. |
IsUpgradeableReadLockHeld |
Gets a value that indicates whether the current thread has entered the lock in upgradeable mode. |
IsWriteLockHeld |
Gets a value that indicates whether the current thread has entered the lock in write mode. |
RecursionPolicy |
Gets a value that indicates the recursion policy for the current ReaderWriterLockSlim object. |
RecursiveReadCount |
Gets the number of times the current thread has entered the lock in read mode, as an indication of recursion. |
RecursiveUpgradeCount |
Gets the number of times the current thread has entered the lock in upgradeable mode, as an indication of recursion. |
RecursiveWriteCount |
Gets the number of times the current thread has entered the lock in write mode, as an indication of recursion. |
WaitingReadCount |
Gets the total number of threads that are waiting to enter the lock in read mode. |
WaitingUpgradeCount |
Gets the total number of threads that are waiting to enter the lock in upgradeable mode. |
WaitingWriteCount |
Gets the total number of threads that are waiting to enter the lock in write mode. |
Methods
Dispose() |
Releases all resources used by the current instance of the ReaderWriterLockSlim class. |
EnterReadLock() |
Tries to enter the lock in read mode. |
EnterUpgradeableReadLock() |
Tries to enter the lock in upgradeable mode. |
EnterWriteLock() |
Tries to enter the lock in write mode. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
ExitReadLock() |
Reduces the recursion count for read mode, and exits read mode if the resulting count is 0 (zero). |
ExitUpgradeableReadLock() |
Reduces the recursion count for upgradeable mode, and exits upgradeable mode if the resulting count is 0 (zero). |
ExitWriteLock() |
Reduces the recursion count for write mode, and exits write mode if the resulting count is 0 (zero). |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
TryEnterReadLock(Int32) |
Tries to enter the lock in read mode, with an optional integer time-out. |
TryEnterReadLock(TimeSpan) |
Tries to enter the lock in read mode, with an optional time-out. |
TryEnterUpgradeableReadLock(Int32) |
Tries to enter the lock in upgradeable mode, with an optional time-out. |
TryEnterUpgradeableReadLock(TimeSpan) |
Tries to enter the lock in upgradeable mode, with an optional time-out. |
TryEnterWriteLock(Int32) |
Tries to enter the lock in write mode, with an optional time-out. |
TryEnterWriteLock(TimeSpan) |
Tries to enter the lock in write mode, with an optional time-out. |
Applies to
Thread Safety
This type is thread safe.