Specifies whether a lock can be entered multiple times by the same thread.
Assembly: System.Core (in System.Core.dll)
The default recursion policy depends on the type of lock. For the default policy and the precise behavior of lock recursion for any given lock type, see the documentation for the type. For example, the ReaderWriterLockSlim class does not allow a thread to enter the lock in write mode if it already entered the lock in read mode, regardless of the lock policy setting, in order to reduce the chance of deadlocks.
Currently only one lock uses this enumeration:
The following example shows two exception scenarios, one that depends on the setting and one that does not.
In the first scenario, the thread enters the lock in read mode and then tries to enter read mode recursively. If the ReaderWriterLockSlim is created by using the default constructor, which sets recursion policy to , an exception is thrown. If is used to create the ReaderWriterLockSlim, no exception is thrown.
In the second scenario, the thread enters the lock in read mode and then tries to enter the lock in write mode. LockRecursionException is thrown regardless of the lock recursion policy.
.NET FrameworkSupported in: 4.5, 4, 3.5
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
Portable Class LibrarySupported in: Portable Class Library
.NET for Windows Store appsSupported in: Windows 8
.NET for Windows Phone appsSupported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.