java命名空间java.util.concurrent.locks类abstractqueuedlongsynchronizer的类成员方法:
tryacquireshared定义及介绍
本文导语:
tryacquireshared
protected long tryacquireshared(long arg)
尝试在共享模式下获取。此方法应该查询是否允许在共享模式下获取对象状态,如果允许,则获取它。
此方法总是由执行获取的线程调用。如果此方法报告失败,则 acquire 方法可...
tryacquireshared
protected long tryacquireshared(long arg)
- 尝试在共享模式下获取。此方法应该查询是否允许在共享模式下获取对象状态,如果允许,则获取它。
此方法总是由执行获取的线程调用。如果此方法报告失败,则 acquire 方法可以将线程加入队列(如果它还没有加入队列),直到收到其他线程的释放信号为止。
默认实现将抛出 unsupportedoperationexception
。
- 参数:
arg
- 获取参数。此值总是传递给 acquire 方法的那个值,或者是保存在某个条件等待条目上的值。该值在其他方面没有解释,可以表示任何内容。
- 返回:
- 在失败时返回负值;如果在共享模式下获取成功,但后续共享模式下的获取无法成功,则返回 0;如果在共享模式下获取成功,并且后续共享模式下的获取也能成功(在这种情况下,后续等待线程必须检查可用性),则返回正值。(支持三个不同返回值使得此方法可以在偶尔以独占方式进行获取的上下文中使用。)在成功时,此对象已经被获取。
- 抛出:
illegalmonitorstateexception
- 如果获取操作会将此同步器变为非法状态。为了同步的正常运行,必须以统一的方式抛出此异常。
unsupportedoperationexception
- 如果不支持共享模式