executorservice.html

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

HTML
656
字号
<p> 注:<A HREF="Executors.html" title="java.util.concurrent 中的类"><CODE>Executors</CODE></A> 类包括了一组方法,可以转换某些其他常见的类似于闭包的对象,例如,将 <CODE>PrivilegedAction</CODE> 转换为 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 形式,这样就可以提交它们了。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>task</CODE> - 要提交的任务<DT><B>返回:</B><DD>表示任务等待完成的 Future<DT><B>抛出:</B><DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</A></CODE> - 如果任务无法安排执行<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 task 为 null</DL></DD></DL><HR><A NAME="submit(java.lang.Runnable,java.lang.Object)"><!-- --></A><A NAME="submit(java.lang.Runnable, T)"><!-- --></A><H3>submit</H3><PRE>&lt;T&gt; <A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;T&gt; <B>submit</B>(<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&nbsp;task,                     T&nbsp;result)</PRE><DL><DD>提交一个 Runnable 任务用于执行,并返回一个 Future,该 Future 表示任务一旦完成后即返回给定的结果。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>task</CODE> - 要提交的任务<DD><CODE>result</CODE> - 返回的结果<DT><B>返回:</B><DD>表示任务等待完成的 Future,并且其 <tt>get()</tt> 方法在完成后将返回给定的结果。<DT><B>抛出:</B><DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</A></CODE> - 如果任务无法安排执行<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 task 为 null</DL></DD></DL><HR><A NAME="submit(java.lang.Runnable)"><!-- --></A><H3>submit</H3><PRE><A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;?&gt; <B>submit</B>(<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&nbsp;task)</PRE><DL><DD>提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>task</CODE> - 要提交的任务。<DT><B>返回:</B><DD>表示任务等待完成的 Future,并且其 <tt>get()</tt> 方法在完成后将返回 <tt>null</tt>。<DT><B>抛出:</B><DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</A></CODE> - 如果任务无法安排执行<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 task 为 null</DL></DD></DL><HR><A NAME="invokeAll(java.util.Collection)"><!-- --></A><H3>invokeAll</H3><PRE>&lt;T&gt; <A HREF="../List.html" title="java.util 中的接口">List</A>&lt;<A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;T&gt;&gt; <B>invokeAll</B>(<A HREF="../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&gt;&nbsp;tasks)                          throws <A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></PRE><DL><DD>执行给定的任务,当所有任务完成时,返回保持任务状态和结果的 Future 列表。返回列表的所有元素的 <A HREF="Future.html#isDone()"><CODE>Future.isDone()</CODE></A> 为 <tt>true</tt>。注意,可以正常地或通过抛出异常来终止<em>已完成</em> 任务。如果正在进行此操作时修改了给定的集合,则此方法的结果是不明确的。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>tasks</CODE> - 任务集合<DT><B>返回:</B><DD>表示任务的 Future 列表,列表顺序与给定任务列表的迭代器所生成的顺序相同,每个任务都已完成。<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果等待时发生中断,在这种情况下取消尚未完成的任务。<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果任务或其任意元素为 <tt>null</tt><DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</A></CODE> - 如果所有任务都无法安排执行</DL></DD></DL><HR><A NAME="invokeAll(java.util.Collection, long, java.util.concurrent.TimeUnit)"><!-- --></A><H3>invokeAll</H3><PRE>&lt;T&gt; <A HREF="../List.html" title="java.util 中的接口">List</A>&lt;<A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;T&gt;&gt; <B>invokeAll</B>(<A HREF="../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&gt;&nbsp;tasks,                              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></PRE><DL><DD>执行给定的任务,当所有任务完成或超时期满时(无论哪个首先发生),返回保持任务状态和结果的 Future 列表。返回列表的所有元素的 <A HREF="Future.html#isDone()"><CODE>Future.isDone()</CODE></A> 为 <tt>true</tt>。一旦返回后,即取消尚未完成的任务。注意,可以正常地或通过抛出异常来终止<em>已完成</em> 任务。如果此操作正在进行时修改了给定的集合,则此方法的结果是不明确的。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>tasks</CODE> - 任务集合<DD><CODE>timeout</CODE> - 最长等待时间<DD><CODE>unit</CODE> - timeout 参数的时间单位<DT><B>返回:</B><DD>表示任务的 Future 列表,列表顺序与给定任务列表的迭代器所生成的顺序相同。如果操作未超时,则已完成所有任务。如果确实超时了,则某些任务尚未完成。<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果等待时发生中断,在这种情况下取消尚未完成的任务<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果任务或其任意元素或 unit 为 <tt>null</tt><DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</A></CODE> - 如果所有任务都无法安排执行</DL></DD></DL><HR><A NAME="invokeAny(java.util.Collection)"><!-- --></A><H3>invokeAny</H3><PRE>&lt;T&gt; T <B>invokeAny</B>(<A HREF="../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&gt;&nbsp;tasks)            throws <A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A>,                   <A HREF="ExecutionException.html" title="java.util.concurrent 中的类">ExecutionException</A></PRE><DL><DD>执行给定的任务,如果某个任务已成功完成(也就是未抛出异常),则返回其结果。一旦正常或异常返回后,则取消尚未完成的任务。如果此操作正在进行时修改了给定的集合,则此方法的结果是不明确的。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>tasks</CODE> - 任务集合<DT><B>返回:</B><DD>某个任务返回的结果<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果等待时发生中断<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果任务或其任意元素为 <tt>null</tt><DD><CODE><A HREF="../../lang/IllegalArgumentException.html" title="java.lang 中的类">IllegalArgumentException</A></CODE> - 如果任务为空<DD><CODE><A HREF="ExecutionException.html" title="java.util.concurrent 中的类">ExecutionException</A></CODE> - 如果没有任务成功完成<DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</A></CODE> - 如果任务无法安排执行</DL></DD></DL><HR><A NAME="invokeAny(java.util.Collection, long, java.util.concurrent.TimeUnit)"><!-- --></A><H3>invokeAny</H3><PRE>&lt;T&gt; T <B>invokeAny</B>(<A HREF="../Collection.html" title="java.util 中的接口">Collection</A>&lt;<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&gt;&nbsp;tasks,                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="ExecutionException.html" title="java.util.concurrent 中的类">ExecutionException</A>,                   <A HREF="TimeoutException.html" title="java.util.concurrent 中的类">TimeoutException</A></PRE><DL><DD>执行给定的任务,如果在给定的超时期满前某个任务已成功完成(也就是未抛出异常),则返回其结果。一旦正常或异常返回后,则取消尚未完成的任务。如果此操作正在进行时修改了给定的集合,则此方法的结果是不明确的。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>tasks</CODE> - 任务集合<DD><CODE>timeout</CODE> - 最长等待时间<DD><CODE>unit</CODE> - timeout 参数的时间单位<DT><B>返回:</B><DD>某个任务返回的结果<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果等待时发生中断<DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果任务或其任意元素或 unit 为 <tt>null</tt><DD><CODE><A HREF="TimeoutException.html" title="java.util.concurrent 中的类">TimeoutException</A></CODE> - 如果在所有任务成功完成之前给定的超时期满<DD><CODE><A HREF="ExecutionException.html" title="java.util.concurrent 中的类">ExecutionException</A></CODE> - 如果没有任务成功完成<DD><CODE><A HREF="RejectedExecutionException.html" title="java.util.concurrent 中的类">RejectedExecutionException</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/ExecutorService.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="Executors.html" title="java.util.concurrent 中的类"><B>上一个类</B></A>&nbsp;&nbsp;<A HREF="Future.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_2FExecutorService.html" target="_top"><B>框架</B></A>  &nbsp;&nbsp;<A HREF="ExecutorService.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;构造方法&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">详细信息:&nbsp;字段&nbsp;|&nbsp;构造方法&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 + -
显示快捷键?