abstractqueuedsynchronizer.html

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

HTML
1,163
字号
 </pre><P><P><DL><DT><B>从以下版本开始:</B></DT>  <DD>1.5</DD><DT><B>另请参见:</B><DD><A HREF="../../../../serialized-form.html#java.util.concurrent.locks.AbstractQueuedSynchronizer">序列化表格</A></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><A NAME="nested_class_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>嵌套类摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;class</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.ConditionObject.html" title="java.util.concurrent.locks 中的类">AbstractQueuedSynchronizer.ConditionObject</A></B></CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="AbstractQueuedSynchronizer.html" title="java.util.concurrent.locks 中的类"><CODE>AbstractQueuedSynchronizer</CODE></A> 的 Condition 实现是 <A HREF="Lock.html" title="java.util.concurrent.locks 中的接口"><CODE>Lock</CODE></A> 实现的基础。</TD></TR></TABLE>&nbsp;<!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>构造方法摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected </CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#AbstractQueuedSynchronizer()">AbstractQueuedSynchronizer</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用初始同步状态 0 来创建一个新的 <tt>AbstractQueuedSynchronizer</tt> 实例。</TD></TR></TABLE>&nbsp;<!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>方法摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#acquire(int)">acquire</A></B>(int&nbsp;arg)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以独占模式获取对象,忽略中断。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#acquireInterruptibly(int)">acquireInterruptibly</A></B>(int&nbsp;arg)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以独占模式获取对象,如果被中断则中止。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#acquireShared(int)">acquireShared</A></B>(int&nbsp;arg)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以共享模式获取对象,忽略中断。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#acquireSharedInterruptibly(int)">acquireSharedInterruptibly</A></B>(int&nbsp;arg)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以共享模式获取对象,如果被中断则中止。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected &nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#compareAndSetState(int, int)">compareAndSetState</A></B>(int&nbsp;expect,                   int&nbsp;update)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果当前状态值等于预期值,则以原子方式将同步状态设置为给定的更新值。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="../../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A>&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getExclusiveQueuedThreads()">getExclusiveQueuedThreads</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回包含可能正以独占模式等待获取的线程 collection。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A></CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getFirstQueuedThread()">getFirstQueuedThread</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回队列中第一个(等待时间最长的)线程,如果目前没有将任何线程加入队列,则返回 <tt>null</tt>。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="../../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A>&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getQueuedThreads()">getQueuedThreads</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回包含可能正在等待获取的线程 collection。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;int</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getQueueLength()">getQueueLength</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回等待获取的线程数估计值。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="../../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A>&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getSharedQueuedThreads()">getSharedQueuedThreads</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回包含可能正以共享模式等待获取的线程 collection。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected &nbsp;int</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getState()">getState</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回同步状态的当前值。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="../../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A>&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)">getWaitingThreads</A></B>(<A HREF="AbstractQueuedSynchronizer.ConditionObject.html" title="java.util.concurrent.locks 中的类">AbstractQueuedSynchronizer.ConditionObject</A>&nbsp;condition)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回一个 collection,其中包含可能正在等待与此同步器有关的给定条件的那些线程。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;int</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)">getWaitQueueLength</A></B>(<A HREF="AbstractQueuedSynchronizer.ConditionObject.html" title="java.util.concurrent.locks 中的类">AbstractQueuedSynchronizer.ConditionObject</A>&nbsp;condition)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回正在等待与此同步器有关的给定条件的线程数估计值。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#hasContended()">hasContended</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询是否其他线程也曾争着获取此同步器;也就是说,是否某个 acquire 方法已经阻塞。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#hasQueuedThreads()">hasQueuedThreads</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询是否有正在等待获取的任何线程。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)">hasWaiters</A></B>(<A HREF="AbstractQueuedSynchronizer.ConditionObject.html" title="java.util.concurrent.locks 中的类">AbstractQueuedSynchronizer.ConditionObject</A>&nbsp;condition)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询是否有线程正在等待给定的、与此同步器相关的条件。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected &nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#isHeldExclusively()">isHeldExclusively</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果对于当前(正调用的)线程,同步是以独占方式进行的,则返回 true。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#isQueued(java.lang.Thread)">isQueued</A></B>(<A HREF="../../../lang/Thread.html" title="java.lang 中的类">Thread</A>&nbsp;thread)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果给定线程目前已加入队列,则返回 true。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#owns(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)">owns</A></B>(<A HREF="AbstractQueuedSynchronizer.ConditionObject.html" title="java.util.concurrent.locks 中的类">AbstractQueuedSynchronizer.ConditionObject</A>&nbsp;condition)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询给定的 ConditionObject 是否使用了此同步器作为其锁定。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#release(int)">release</A></B>(int&nbsp;arg)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以独占模式释放对象。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#releaseShared(int)">releaseShared</A></B>(int&nbsp;arg)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以共享模式释放对象。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected &nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="AbstractQueuedSynchronizer.html#setState(int)">setState</A></B>(int&nbsp;newState)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置同步状态的值。</TD></TR>

⌨️ 快捷键说明

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