SpinLock.TryEnter Method (TimeSpan, 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
- timeout
- Type: System.TimeSpan
A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds 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 | timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than MaxValue milliseconds. |
| 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 timeout has expired.