⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exchanger.html

📁 j2se5-api-zh,java文档的中文版本
💻 HTML
📖 第 1 页 / 共 2 页
字号:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;等待另一个线程到达此交换点(除非它被<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>),然后将给定的对象传送给该线程,并接收该线程的对象。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="Exchanger.html" title="Exchanger 中的类型参数">V</A></CODE></FONT></TD><TD><CODE><B><A HREF="Exchanger.html#exchange(V, long, java.util.concurrent.TimeUnit)">exchange</A></B>(<A HREF="Exchanger.html" title="Exchanger 中的类型参数">V</A>&nbsp;x,         long&nbsp;timeout,         <A HREF="TimeUnit.html" title="java.util.concurrent 中的枚举">TimeUnit</A>&nbsp;unit)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;等待另一个线程到达此交换点(除非它被<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>,或者超出了指定的等待时间),然后将给定的对象传送给该线程,同时接收该线程的对象。</TD></TR></TABLE>&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TH ALIGN="left"><B>从类 java.lang.<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A> 继承的方法</B></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../lang/Object.html#clone()">clone</A>, <A HREF="../../lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="../../lang/Object.html#finalize()">finalize</A>, <A HREF="../../lang/Object.html#getClass()">getClass</A>, <A HREF="../../lang/Object.html#hashCode()">hashCode</A>, <A HREF="../../lang/Object.html#notify()">notify</A>, <A HREF="../../lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="../../lang/Object.html#toString()">toString</A>, <A HREF="../../lang/Object.html#wait()">wait</A>, <A HREF="../../lang/Object.html#wait(long)">wait</A>, <A HREF="../../lang/Object.html#wait(long, int)">wait</A></CODE></TD></TR></TABLE>&nbsp;<P><!-- ========= CONSTRUCTOR DETAIL ======== --><A NAME="constructor_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>构造方法详细信息</B></FONT></TH></TR></TABLE><A NAME="Exchanger()"><!-- --></A><H3>Exchanger</H3><PRE>public <B>Exchanger</B>()</PRE><DL><DD>创建一个新的 Exchanger。<P></DL><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>方法详细信息</B></FONT></TH></TR></TABLE><A NAME="exchange(java.lang.Object)"><!-- --></A><A NAME="exchange(V)"><!-- --></A><H3>exchange</H3><PRE>public <A HREF="Exchanger.html" title="Exchanger 中的类型参数">V</A> <B>exchange</B>(<A HREF="Exchanger.html" title="Exchanger 中的类型参数">V</A>&nbsp;x)           throws <A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></PRE><DL><DD>等待另一个线程到达此交换点(除非它被<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>),然后将给定的对象传送给该线程,并接收该线程的对象。<p>如果另一个线程已经在交换点等待,则出于线程调度目的,继续执行此线程,并接收当前线程传入的对象。当前线程立即返回,接收其他线程传递的交换对象。<p>如果还没有其他线程在交换点等待,则出于调度目的,禁用当前线程,且在发生以下两种情况之一前,该线程将一直处于休眠状态: <ul><li>其他某个线程进入交换点;或者<li>其他某个线程<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>当前线程。 </ul><p>如果当前线程: <ul><li>在进入此方法时已经设置了该线程的中断状态;或者<li>在等待交换时被<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>, </ul>则抛出 <A HREF="../../lang/InterruptedException.html" title="java.lang 中的类"><CODE>InterruptedException</CODE></A>,并且清除当前线程的已中断状态。<P><DD><DL><DT><B>参数:</B><DD><CODE>x</CODE> - 要交换的对象<DT><B>返回:</B><DD>另一个线程提供的对象。<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果当前线程在等待时被中断</DL></DD></DL><HR><A NAME="exchange(java.lang.Object,long,java.util.concurrent.TimeUnit)"><!-- --></A><A NAME="exchange(V, long, java.util.concurrent.TimeUnit)"><!-- --></A><H3>exchange</H3><PRE>public <A HREF="Exchanger.html" title="Exchanger 中的类型参数">V</A> <B>exchange</B>(<A HREF="Exchanger.html" title="Exchanger 中的类型参数">V</A>&nbsp;x,                  long&nbsp;timeout,                  <A HREF="TimeUnit.html" title="java.util.concurrent 中的枚举">TimeUnit</A>&nbsp;unit)           throws <A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A>,                  <A HREF="TimeoutException.html" title="java.util.concurrent 中的类">TimeoutException</A></PRE><DL><DD>等待另一个线程到达此交换点(除非它被<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>,或者超出了指定的等待时间),然后将给定的对象传送给该线程,同时接收该线程的对象。<p>如果另一个线程已经在交换点上等待,则出于线程调度目的,继续执行此线程,并接收当前线程传入的对象。当前线程立即返回,并接收其他线程传递的交换对象。<p>如果还没有其他线程在交换点等待,则出于调度目的,禁用当前线程,且在发生以下三种情况之一前,该线程将一直处于休眠状态: <ul><li>其他某个线程进入交换点;或者<li>其他某个线程<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>当前线程;或者<li>已超出指定的等待时间。 </ul><p>如果当前线程: <ul><li>在进入此方法时已经设置其中断状态;或者<li>在等待交换时被<A HREF="../../lang/Thread.html#interrupt()"><CODE>中断</CODE></A>, </ul>则抛出 <A HREF="../../lang/InterruptedException.html" title="java.lang 中的类"><CODE>InterruptedException</CODE></A>,并且清除当前线程的已中断状态。 <p>如果超出指定的等待时间,则抛出 <A HREF="TimeoutException.html" title="java.util.concurrent 中的类"><CODE>TimeoutException</CODE></A> 异常。如果该时间小于或等于零,则此方法根本不会等待。<P><DD><DL><DT><B>参数:</B><DD><CODE>x</CODE> - 要交换的对象<DD><CODE>timeout</CODE> - 要等待的最长时间<DD><CODE>unit</CODE> - <tt>timeout</tt> 参数的时间单位。<DT><B>返回:</B><DD>其他线程提供的对象。<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果当前线程在等待时被中断<DD><CODE><A HREF="TimeoutException.html" title="java.util.concurrent 中的类">TimeoutException</A></CODE> - 如果在另一个线程进入交换点之前已经到达指定的等待时间。</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/Exchanger.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="DelayQueue.html" title="java.util.concurrent 中的类"><B>上一个类</B></A>&nbsp;&nbsp;<A HREF="ExecutionException.html" title="java.util.concurrent 中的类"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../index.html@java_2Futil_2Fconcurrent_2FExchanger.html" target="_top"><B>框架</B></A>  &nbsp;&nbsp;<A HREF="Exchanger.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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -