abstractqueuedsynchronizer.conditionobject.html

来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 560 行 · 第 1/2 页

HTML
560
字号
<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/IllegalMonitorStateException.html" title="java.lang 中的类">IllegalMonitorStateException</A></CODE> - 如果 <A HREF="AbstractQueuedSynchronizer.html#isHeldExclusively()"><CODE>AbstractQueuedSynchronizer.isHeldExclusively()</CODE></A> 返回 false</DL></DD></DL><HR><A NAME="signalAll()"><!-- --></A><H3>signalAll</H3><PRE>public final void <B>signalAll</B>()</PRE><DL><DD>将所有线程从此条件的等待队列移动到拥有锁定的等待队列中。<P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Condition.html" title="java.util.concurrent.locks 中的接口">Condition</A></CODE> 中的 <CODE><A HREF="Condition.html#signalAll()">signalAll</A></CODE></DL></DD><DD><DL><DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/IllegalMonitorStateException.html" title="java.lang 中的类">IllegalMonitorStateException</A></CODE> - 如果 <A HREF="AbstractQueuedSynchronizer.html#isHeldExclusively()"><CODE>AbstractQueuedSynchronizer.isHeldExclusively()</CODE></A> 返回 false</DL></DD></DL><HR><A NAME="awaitUninterruptibly()"><!-- --></A><H3>awaitUninterruptibly</H3><PRE>public final void <B>awaitUninterruptibly</B>()</PRE><DL><DD>实现不可中断的条件等待。 <ol><li> 保存 <A HREF="AbstractQueuedSynchronizer.html#getState()"><CODE>AbstractQueuedSynchronizer.getState()</CODE></A> 返回的锁定状态<li> 调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#release(int)"><CODE>AbstractQueuedSynchronizer.release(int)</CODE></A>,如果失败则抛出 IllegalMonitorStateException。<li> 在收到信号之前,会一直阻塞<li> 通过调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#acquire(int)"><CODE>AbstractQueuedSynchronizer.acquire(int)</CODE></A> 特殊版本来重新获得线程。 </ol><P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Condition.html" title="java.util.concurrent.locks 中的接口">Condition</A></CODE> 中的 <CODE><A HREF="Condition.html#awaitUninterruptibly()">awaitUninterruptibly</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="await()"><!-- --></A><H3>await</H3><PRE>public final void <B>await</B>()                 throws <A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></PRE><DL><DD>实现不可中断的条件等待。 <ol><li> 如果当前线程被中断,则抛出 InterruptedException<li> 保存 <A HREF="AbstractQueuedSynchronizer.html#getState()"><CODE>AbstractQueuedSynchronizer.getState()</CODE></A> 返回的锁定状态<li> 调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#release(int)"><CODE>AbstractQueuedSynchronizer.release(int)</CODE></A>,如果失败则抛出 IllegalMonitorStateException。<li> 在收到信号或被中断之前,会一直阻塞<li> 通过调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#acquire(int)"><CODE>AbstractQueuedSynchronizer.acquire(int)</CODE></A> 特殊版本来重新获得线程。<li> 如果因为在步骤 4 中受阻而中断,则抛出异常 </ol><P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Condition.html" title="java.util.concurrent.locks 中的接口">Condition</A></CODE> 中的 <CODE><A HREF="Condition.html#await()">await</A></CODE></DL></DD><DD><DL><DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果当前线程被中断(并且支持中断线程挂起)。</DL></DD></DL><HR><A NAME="awaitNanos(long)"><!-- --></A><H3>awaitNanos</H3><PRE>public final long <B>awaitNanos</B>(long&nbsp;nanosTimeout)                      throws <A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></PRE><DL><DD>实现定时的条件等待。 <ol><li> 如果当前线程被中断,则抛出 InterruptedException<li> 保存 <A HREF="AbstractQueuedSynchronizer.html#getState()"><CODE>AbstractQueuedSynchronizer.getState()</CODE></A> 返回的锁定状态<li> 调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#release(int)"><CODE>AbstractQueuedSynchronizer.release(int)</CODE></A>,如果失败则抛出 IllegalMonitorStateException。<li> 在收到信号、被中断或超时之前,会一直阻塞<li> 通过调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#acquire(int)"><CODE>AbstractQueuedSynchronizer.acquire(int)</CODE></A> 特殊版本来重新获得线程。<li> 如果因为在步骤 4 中受阻而中断,则抛出 InterruptedException </ol><P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Condition.html" title="java.util.concurrent.locks 中的接口">Condition</A></CODE> 中的 <CODE><A HREF="Condition.html#awaitNanos(long)">awaitNanos</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>nanosTimeout</CODE> - 等待的最长时间,以毫微秒为单位<DT><B>返回:</B><DD>如果超时,则返回一个小于或等于 0 的值;否则返回此方法返回时所剩余时间的估计值,该值绝对小于 <tt>nanosTimeout</tt> 参数。<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果当前线程被中断(并且支持中断线程挂起)。</DL></DD></DL><HR><A NAME="awaitUntil(java.util.Date)"><!-- --></A><H3>awaitUntil</H3><PRE>public final boolean <B>awaitUntil</B>(<A HREF="../../Date.html" title="java.util 中的类">Date</A>&nbsp;deadline)                         throws <A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></PRE><DL><DD>实现绝对定时条件等待。 <ol><li> 如果当前线程被中断,则抛出 InterruptedException<li> 保存 <A HREF="AbstractQueuedSynchronizer.html#getState()"><CODE>AbstractQueuedSynchronizer.getState()</CODE></A> 返回的锁定状态<li> 调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#release(int)"><CODE>AbstractQueuedSynchronizer.release(int)</CODE></A>,如果失败则抛出 IllegalMonitorStateException。<li> 在收到信号、被中断或超时之前,会一直阻塞<li> 通过调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#acquire(int)"><CODE>AbstractQueuedSynchronizer.acquire(int)</CODE></A> 特殊版本来重新获得线程。<li> 如果因为在步骤 4 中受阻而中断,则抛出 InterruptedException<li> 如果因为在步骤 4 中受阻而超时,则返回 false,其他情况返回 true </ol><P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Condition.html" title="java.util.concurrent.locks 中的接口">Condition</A></CODE> 中的 <CODE><A HREF="Condition.html#awaitUntil(java.util.Date)">awaitUntil</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>deadline</CODE> - 一直处于等待状态的绝对时间<DT><B>返回:</B><DD>如果在返回时已经到达最后期限,则返回 <tt>false</tt>,否则返回 <tt>true</tt>。<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果当前线程被中断(并且支持中断线程挂起)。</DL></DD></DL><HR><A NAME="await(long, java.util.concurrent.TimeUnit)"><!-- --></A><H3>await</H3><PRE>public final boolean <B>await</B>(long&nbsp;time,                           <A HREF="../TimeUnit.html" title="java.util.concurrent 中的枚举">TimeUnit</A>&nbsp;unit)                    throws <A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></PRE><DL><DD>实现定时的条件等待。  <ol><li> 如果当前线程被中断,则抛出 InterruptedException<li> 保存 <A HREF="AbstractQueuedSynchronizer.html#getState()"><CODE>AbstractQueuedSynchronizer.getState()</CODE></A> 返回的锁定状态<li> 调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#release(int)"><CODE>AbstractQueuedSynchronizer.release(int)</CODE></A>,如果失败则抛出 IllegalMonitorStateException。<li> 在收到信号、被中断或超时之前,会一直阻塞<li> 通过调用将保存的状态用作参数的 <A HREF="AbstractQueuedSynchronizer.html#acquire(int)"><CODE>AbstractQueuedSynchronizer.acquire(int)</CODE></A> 特殊版本来重新获得线程。<li> 如果因为在步骤 4 中受阻而中断,则抛出 InterruptedException<li> 如果因为在步骤 4 中受阻而超时,则返回 false,其他情况返回 true </ol><P><DD><DL><DT><B>指定者:</B><DD>接口 <CODE><A HREF="Condition.html" title="java.util.concurrent.locks 中的接口">Condition</A></CODE> 中的 <CODE><A HREF="Condition.html#await(long, java.util.concurrent.TimeUnit)">await</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>time</CODE> - 最长等待时间<DD><CODE>unit</CODE> - <tt>time</tt> 参数的时间单位。<DT><B>返回:</B><DD>如果在从此方法返回前检测到等待时间超时,则返回 <tt>false</tt>,否则返回 <tt>true</tt>。<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果当前线程被中断(并且支持中断线程挂起)。</DL></DD></DL><HR><A NAME="hasWaiters()"><!-- --></A><H3>hasWaiters</H3><PRE>protected final boolean <B>hasWaiters</B>()</PRE><DL><DD>查询是否有正在等待此条件的任何线程。实现 <A HREF="AbstractQueuedSynchronizer.html#hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)"><CODE>AbstractQueuedSynchronizer.hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)</CODE></A><P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>如果有正在等待的任何线程,则返回 <tt>true</tt>。<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/IllegalMonitorStateException.html" title="java.lang 中的类">IllegalMonitorStateException</A></CODE> - 如果 <A HREF="AbstractQueuedSynchronizer.html#isHeldExclusively()"><CODE>AbstractQueuedSynchronizer.isHeldExclusively()</CODE></A> 返回 false</DL></DD></DL><HR><A NAME="getWaitQueueLength()"><!-- --></A><H3>getWaitQueueLength</H3><PRE>protected final int <B>getWaitQueueLength</B>()</PRE><DL><DD>返回正在等待此条件的线程数估计值。实现 <A HREF="AbstractQueuedSynchronizer.html#getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)"><CODE>AbstractQueuedSynchronizer.getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)</CODE></A><P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>正在等待的线程估计数。<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/IllegalMonitorStateException.html" title="java.lang 中的类">IllegalMonitorStateException</A></CODE> - 如果 <A HREF="AbstractQueuedSynchronizer.html#isHeldExclusively()"><CODE>AbstractQueuedSynchronizer.isHeldExclusively()</CODE></A> 返回 false</DL></DD></DL><HR><A NAME="getWaitingThreads()"><!-- --></A><H3>getWaitingThreads</H3><PRE>protected final <A HREF="../../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A>&gt; <B>getWaitingThreads</B>()</PRE><DL><DD>返回包含那些可能正在等待此条件的线程 collection。实现 <A HREF="AbstractQueuedSynchronizer.html#getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)"><CODE>AbstractQueuedSynchronizer.getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)</CODE></A><P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>线程的 collection<DT><B>抛出:</B><DD><CODE><A HREF="../../../lang/IllegalMonitorStateException.html" title="java.lang 中的类">IllegalMonitorStateException</A></CODE> - 如果 <A HREF="AbstractQueuedSynchronizer.html#isHeldExclusively()"><CODE>AbstractQueuedSynchronizer.isHeldExclusively()</CODE></A> 返回 false</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="跳过导航链接"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractQueuedSynchronizer.ConditionObject.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup>&nbsp;2&nbsp;Platform<br>Standard&nbsp;Ed. 5.0</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="AbstractQueuedSynchronizer.html" title="java.util.concurrent.locks 中的类"><B>上一个类</B></A>&nbsp;&nbsp;<A HREF="Condition.html" title="java.util.concurrent.locks 中的接口"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../index.html@java_2Futil_2Fconcurrent_2Flocks_2FAbstractQueuedSynchronizer.ConditionObject.html" target="_top"><B>框架</B></A>  &nbsp;&nbsp;<A HREF="AbstractQueuedSynchronizer.ConditionObject.html" target="_top"><B>无框架</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR><font size="-1"><a href="../../../../../../../../../../java.sun.com/cgi-bin/bugreport.cgi">提交错误或意见</a><br>有关更多的 API 参考资料和开发人员文档,请参阅 <a href="../../../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/devdocs-vs-specs.html">Java 2 SDK SE 开发人员文档</a>。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。 <p>版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守<a href="../../../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/license.html">许可证条款</a>。另请参阅<a href="../../../../../../../../../../java.sun.com/docs/redist.html">文档重新分发政策</a>。</font></BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?