SpinLock.TryEnter Method (Int32, Boolean%)

Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public void TryEnter(
	int millisecondsTimeout,
	ref bool lockTaken
)

Parameters

millisecondsTimeout
Type: System.Int32
The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.
lockTaken
Type: System.Boolean%
True if the lock is acquired; otherwise, false. lockTaken must be initialized to false prior to calling this method.

ExceptionCondition
ArgumentOutOfRangeException

millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.

ArgumentException

The lockTaken argument must be initialized to false prior to calling TryEnter.

LockRecursionException

Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. It will block until either the lock is available or until the millisecondsTimeout has expired.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft