AbstractQueuedSynchronizer.TryAcquireNanos(Int32, Int64) Method
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.
Attempts to acquire in exclusive mode, aborting if interrupted, and failing if the given timeout elapses.
[Android.Runtime.Register("tryAcquireNanos", "(IJ)Z", "")]
public bool TryAcquireNanos (int arg, long nanosTimeout);
[<Android.Runtime.Register("tryAcquireNanos", "(IJ)Z", "")>]
member this.TryAcquireNanos : int * int64 -> bool
Parameters
- arg
- Int32
the acquire argument. This value is conveyed to
#tryAcquire
but is otherwise uninterpreted and
can represent anything you like.
- nanosTimeout
- Int64
the maximum number of nanoseconds to wait
Returns
true
if acquired; false
if timed out
- Attributes
Exceptions
if the current thread is interrupted
Remarks
Attempts to acquire in exclusive mode, aborting if interrupted, and failing if the given timeout elapses. Implemented by first checking interrupt status, then invoking at least once #tryAcquire
, returning on success. Otherwise, the thread is queued, possibly repeatedly blocking and unblocking, invoking #tryAcquire
until success or the thread is interrupted or the timeout elapses. This method can be used to implement method Lock#tryLock(long, TimeUnit)
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.