executorservice.html

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

HTML
656
字号
<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><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""><TR ALIGN="right" VALIGN=""><TD NOWRAP><FONT SIZE="-1"><CODE>&lt;T&gt; T</CODE></FONT></TD></TR></TABLE></CODE></FONT></TD><TD><CODE><B><A HREF="ExecutorService.html#invokeAny(java.util.Collection, long, java.util.concurrent.TimeUnit)">invokeAny</A></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)</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="ExecutorService.html#isShutdown()">isShutdown</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果此执行程序已关闭,则返回 <tt>true</tt>。</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="ExecutorService.html#isTerminated()">isTerminated</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果关闭后所有任务都已完成,则返回 <tt>true</tt>。</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="ExecutorService.html#shutdown()">shutdown</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="../List.html" title="java.util 中的接口">List</A>&lt;<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="ExecutorService.html#shutdownNow()">shutdownNow</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><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""><TR ALIGN="right" VALIGN=""><TD NOWRAP><FONT SIZE="-1"><CODE>&lt;T&gt; <A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;T&gt;</CODE></FONT></TD></TR></TABLE></CODE></FONT></TD><TD><CODE><B><A HREF="ExecutorService.html#submit(java.util.concurrent.Callable)">submit</A></B>(<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&nbsp;task)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;?&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="ExecutorService.html#submit(java.lang.Runnable)">submit</A></B>(<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&nbsp;task)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""><TR ALIGN="right" VALIGN=""><TD NOWRAP><FONT SIZE="-1"><CODE>&lt;T&gt; <A HREF="Future.html" title="java.util.concurrent 中的接口">Future</A>&lt;T&gt;</CODE></FONT></TD></TR></TABLE></CODE></FONT></TD><TD><CODE><B><A HREF="ExecutorService.html#submit(java.lang.Runnable, T)">submit</A></B>(<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&nbsp;task,       T&nbsp;result)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;提交一个 Runnable 任务用于执行,并返回一个 Future,该 Future 表示任务一旦完成后即返回给定的结果。</TD></TR></TABLE>&nbsp;<A NAME="methods_inherited_from_class_java.util.concurrent.Executor"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TH ALIGN="left"><B>从接口 java.util.concurrent.<A HREF="Executor.html" title="java.util.concurrent 中的接口">Executor</A> 继承的方法</B></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="Executor.html#execute(java.lang.Runnable)">execute</A></CODE></TD></TR></TABLE>&nbsp;<P><!-- ============ 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="shutdown()"><!-- --></A><H3>shutdown</H3><PRE>void <B>shutdown</B>()</PRE><DL><DD>启动一次顺序关闭,执行以前提交的任务,但不接受新任务。如果已经关闭,则调用没有其他作用。<P><DD><DL></DL></DD><DD><DL><DT><B>抛出:</B><DD><CODE><A HREF="../../lang/SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且关闭,此 ExecutorService 可能操作某些不允许调用方修改的线程(因为它没有保持 <A HREF="../../lang/RuntimePermission.html" title="java.lang 中的类"><CODE>RuntimePermission</CODE></A><tt>(&quot;modifyThread&quot;)</tt>),或者安全管理器的 <tt>checkAccess</tt> 方法拒绝访问。</DL></DD></DL><HR><A NAME="shutdownNow()"><!-- --></A><H3>shutdownNow</H3><PRE><A HREF="../List.html" title="java.util 中的接口">List</A>&lt;<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&gt; <B>shutdownNow</B>()</PRE><DL><DD>试图停止所有正在执行的活动任务,暂停处理正在等待的任务,并返回等待执行的任务列表。   <p>无法保证能够停止正在处理的活动执行任务,但是会尽力尝试。例如,通过 <A HREF="../../lang/Thread.html#interrupt()"><CODE>Thread.interrupt()</CODE></A> 来取消典型的实现,所以如果任何任务屏蔽或无法响应中断,则可能永远无法终止该任务。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>从未开始执行的任务的列表。<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果安全管理器存在并且关闭,此 ExecutorService 可能操作某些不允许调用方修改的线程(因为它没有保持 <A HREF="../../lang/RuntimePermission.html" title="java.lang 中的类"><CODE>RuntimePermission</CODE></A><tt>(&quot;modifyThread&quot;)</tt>),或者安全管理器的 <tt>checkAccess</tt> 方法拒绝访问。</DL></DD></DL><HR><A NAME="isShutdown()"><!-- --></A><H3>isShutdown</H3><PRE>boolean <B>isShutdown</B>()</PRE><DL><DD>如果此执行程序已关闭,则返回 <tt>true</tt>。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>如果此执行程序已关闭,则返回 <tt>true</tt></DL></DD></DL><HR><A NAME="isTerminated()"><!-- --></A><H3>isTerminated</H3><PRE>boolean <B>isTerminated</B>()</PRE><DL><DD>如果关闭后所有任务都已完成,则返回 <tt>true</tt>。注意,除非首先调用 <tt>shutdown</tt> 或 <tt>shutdownNow</tt>,否则 <tt>isTerminated</tt> 永不为 <tt>true</tt>。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>如果关闭后所有任务都已完成,则返回 <tt>true</tt></DL></DD></DL><HR><A NAME="awaitTermination(long, java.util.concurrent.TimeUnit)"><!-- --></A><H3>awaitTermination</H3><PRE>boolean <B>awaitTermination</B>(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>请求关闭、发生超时或者当前线程中断,无论哪一个首先发生之后,都将导致阻塞,直到所有任务完成执行。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>timeout</CODE> - 最长等待时间<DD><CODE>unit</CODE> - timeout 参数的时间单位<DT><B>返回:</B><DD>如果此执行程序终止,则返回 <tt>true</tt>;如果终止前超时期满,则返回 <tt>false</tt><DT><B>抛出:</B><DD><CODE><A HREF="../../lang/InterruptedException.html" title="java.lang 中的类">InterruptedException</A></CODE> - 如果等待时发生中断</DL></DD></DL><HR><A NAME="submit(java.util.concurrent.Callable)"><!-- --></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="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&nbsp;task)</PRE><DL><DD>提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。  <p>如果想立即阻塞任务的等待,则可以使用 <tt>result = exec.submit(aCallable).get();</tt> 形式的构造。

⌨️ 快捷键说明

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