SpinLock.TryEnter Method (Int32, Boolean%)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
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.
Assembly: mscorlib (in mscorlib.dll)
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.
| Exception | Condition |
|---|---|
| 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.