AbstractQueuedSynchronizer.TryAcquire(Int32) 方法

定义

尝试以独占模式获取。

[Android.Runtime.Register("tryAcquire", "(I)Z", "GetTryAcquire_IHandler")]
protected virtual bool TryAcquire(int arg);
[<Android.Runtime.Register("tryAcquire", "(I)Z", "GetTryAcquire_IHandler")>]
abstract member TryAcquire : int -> bool
override this.TryAcquire : int -> bool

参数

arg
Int32

获取参数。 此值始终是传递给获取方法的值,或者是在进入条件等待时保存的值。 否则,该值不受解释,可以表示你喜欢的任何内容。

返回

true 如果成功,则为 。 成功后,已获取此对象。

属性

例外

如果获取会将此同步器置于非法状态, 必须以一致的方式引发此异常,以便同步正常工作。

如果不支持独占模式

注解

尝试以独占模式获取。 此方法应查询对象的状态是否允许它在独占模式下获取,如果是这样获取它。

此方法始终由执行获取的线程调用。 如果此方法报告失败,则获取方法可能会将线程排成队列(如果尚未排队),直到它被来自其他线程的释放发出信号。 这可用于实现方法 Lock#tryLock()

默认实现引发 UnsupportedOperationException

Java文档java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquire(int)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于