executors.html

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

HTML
703
字号
<P><DD><DL><DT><B>参数:</B><DD><CODE>corePoolSize</CODE> - 池中所保存的线程数,即使线程是空闲的也包括在内<DD><CODE>threadFactory</CODE> - 执行程序创建新线程时使用的工厂<DT><B>返回:</B><DD>新创建的安排线程池</DL></DD></DL><HR><A NAME="unconfigurableExecutorService(java.util.concurrent.ExecutorService)"><!-- --></A><H3>unconfigurableExecutorService</H3><PRE>public static <A HREF="ExecutorService.html" title="java.util.concurrent 中的接口">ExecutorService</A> <B>unconfigurableExecutorService</B>(<A HREF="ExecutorService.html" title="java.util.concurrent 中的接口">ExecutorService</A>&nbsp;executor)</PRE><DL><DD>返回一个将所有已定义的 <A HREF="ExecutorService.html" title="java.util.concurrent 中的接口"><CODE>ExecutorService</CODE></A> 方法委托给指定执行程序的对象,但是使用强制转换可能无法访问其他方法。这提供了一种可安全地&ldquo;冻结&rdquo;配置并且不允许调整给定具体实现的方法。<P><DD><DL><DT><B>参数:</B><DD><CODE>executor</CODE> - 基础实现<DT><B>返回:</B><DD>一个 <tt>ExecutorService</tt> 实例<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 executor 为 null</DL></DD></DL><HR><A NAME="unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)"><!-- --></A><H3>unconfigurableScheduledExecutorService</H3><PRE>public static <A HREF="ScheduledExecutorService.html" title="java.util.concurrent 中的接口">ScheduledExecutorService</A> <B>unconfigurableScheduledExecutorService</B>(<A HREF="ScheduledExecutorService.html" title="java.util.concurrent 中的接口">ScheduledExecutorService</A>&nbsp;executor)</PRE><DL><DD>返回一个将所有已定义的 <A HREF="ExecutorService.html" title="java.util.concurrent 中的接口"><CODE>ExecutorService</CODE></A> 方法委托给指定执行程序的对象,但是使用强制转换可能无法访问其他方法。这提供了一种可安全地&ldquo;冻结&rdquo;配置并且不允许调整给定具体实现的方法。<P><DD><DL><DT><B>参数:</B><DD><CODE>executor</CODE> - 基础实现<DT><B>返回:</B><DD>一个 <tt>ScheduledExecutorService</tt> 实例<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 executor 为 null</DL></DD></DL><HR><A NAME="defaultThreadFactory()"><!-- --></A><H3>defaultThreadFactory</H3><PRE>public static <A HREF="ThreadFactory.html" title="java.util.concurrent 中的接口">ThreadFactory</A> <B>defaultThreadFactory</B>()</PRE><DL><DD>返回用于创建新线程的默认线程工厂。此工厂创建同一 <A HREF="../../lang/ThreadGroup.html" title="java.lang 中的类"><CODE>ThreadGroup</CODE></A> 中 Executor 使用的所有新线程。如果有 <A HREF="../../lang/SecurityManager.html" title="java.lang 中的类"><CODE>SecurityManager</CODE></A>,则它使用 <A HREF="../../lang/System.html#getSecurityManager()"><CODE>System.getSecurityManager()</CODE></A> 组来调用此 <tt>defaultThreadFactory</tt> 方法,其他情况则使用线程组。每个新线程都作为非守护程序而创建,并且具有 <tt>Thread.NORM_PRIORITY</tt> 优先级。新线程具有可通过<em>pool-N-thread-M</em> 的 <A HREF="../../lang/Thread.html#getName()"><CODE>Thread.getName()</CODE></A> 来访问的名称,其中 <em>N</em> 是此工厂的序列号,<em>M</em> 是此工厂所创建线程的序列号。<P><DD><DL><DT><B>返回:</B><DD>线程工厂</DL></DD></DL><HR><A NAME="privilegedThreadFactory()"><!-- --></A><H3>privilegedThreadFactory</H3><PRE>public static <A HREF="ThreadFactory.html" title="java.util.concurrent 中的接口">ThreadFactory</A> <B>privilegedThreadFactory</B>()</PRE><DL><DD>返回用于创建新线程的线程工厂,这些新线程与当前线程具有相同的权限。此工厂创建具有与 <A HREF="Executors.html#defaultThreadFactory()"><CODE>defaultThreadFactory()</CODE></A> 相同设置的线程,新线程的 AccessControlContext 和 contextClassLoader 的其他设置与调用此 <tt>privilegedThreadFactory</tt> 方法的线程相同。可以在 <CODE>AccessController.doPrivileged(java.security.PrivilegedAction<T>)</CODE> 操作中创建一个新 <tt>privilegedThreadFactory</tt>,设置当前线程的访问控制上下文,以便创建具有该操作中保持的所选权限的线程。<p> 注意,虽然运行在此类线程中的任务具有与当前线程相同的访问控制和类加载器,但是它们无需具有相同的 <A HREF="../../lang/ThreadLocal.html" title="java.lang 中的类"><CODE>ThreadLocal</CODE></A> 或 <A HREF="../../lang/InheritableThreadLocal.html" title="java.lang 中的类"><CODE>InheritableThreadLocal</CODE></A> 值。如有必要,使用 <A HREF="ThreadPoolExecutor.html#beforeExecute(java.lang.Thread, java.lang.Runnable)"><CODE>ThreadPoolExecutor.beforeExecute(java.lang.Thread, java.lang.Runnable)</CODE></A> 在 <A HREF="ThreadPoolExecutor.html" title="java.util.concurrent 中的类"><CODE>ThreadPoolExecutor</CODE></A> 子类中运行任何任务前,可以设置或重置线程局部变量的特定值。另外,如果必须初始化 worker 线程,以具有与某些其他指定线程相同的 InheritableThreadLocal 设置,则可以在线程等待和服务创建请求的环境中创建自定义的 ThreadFactory,而不是继承其值。<P><DD><DL><DT><B>返回:</B><DD>线程工厂<DT><B>抛出:</B><DD><CODE>java.security.AccessControlException</CODE> - 如果当前的访问控制上下文没有获得和设置上下文类加载器的权限。</DL></DD></DL><HR><A NAME="callable(java.lang.Runnable,java.lang.Object)"><!-- --></A><A NAME="callable(java.lang.Runnable, T)"><!-- --></A><H3>callable</H3><PRE>public static &lt;T&gt; <A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt; <B>callable</B>(<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&nbsp;task,                                       T&nbsp;result)</PRE><DL><DD>返回 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 对象,调用它时可运行给定的任务并返回给定的结果。这在把需要 <tt>Callable</tt> 的方法应用到其他无结果的操作时很有用。<P><DD><DL><DT><B>参数:</B><DD><CODE>task</CODE> - 要运行的任务<DD><CODE>result</CODE> - 返回的结果<DT><B>返回:</B><DD>一个 callable 对象<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 task 为 null</DL></DD></DL><HR><A NAME="callable(java.lang.Runnable)"><!-- --></A><H3>callable</H3><PRE>public static <A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A>&gt; <B>callable</B>(<A HREF="../../lang/Runnable.html" title="java.lang 中的接口">Runnable</A>&nbsp;task)</PRE><DL><DD>返回 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 对象,调用它时可运行给定的任务并返回 <tt>null</tt>。<P><DD><DL><DT><B>参数:</B><DD><CODE>task</CODE> - 要运行的任务<DT><B>返回:</B><DD>一个 callable 对象<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 task 为 null</DL></DD></DL><HR><A NAME="callable(java.security.PrivilegedAction)"><!-- --></A><H3>callable</H3><PRE>public static <A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A>&gt; <B>callable</B>(java.security.PrivilegedAction&nbsp;action)</PRE><DL><DD>返回 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 对象,调用它时可运行给定特权的操作并返回其结果。<P><DD><DL><DT><B>参数:</B><DD><CODE>action</CODE> - 要运行的特权操作<DT><B>返回:</B><DD>一个 callable 对象<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 action 为 null</DL></DD></DL><HR><A NAME="callable(java.security.PrivilegedExceptionAction)"><!-- --></A><H3>callable</H3><PRE>public static <A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;<A HREF="../../lang/Object.html" title="java.lang 中的类">Object</A>&gt; <B>callable</B>(java.security.PrivilegedExceptionAction&nbsp;action)</PRE><DL><DD>返回 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 对象,调用它时可运行给定特权的异常操作并返回其结果。<P><DD><DL><DT><B>参数:</B><DD><CODE>action</CODE> - 要运行的特权异常操作<DT><B>返回:</B><DD>一个 callable 对象<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 action 为 null</DL></DD></DL><HR><A NAME="privilegedCallable(java.util.concurrent.Callable)"><!-- --></A><H3>privilegedCallable</H3><PRE>public static &lt;T&gt; <A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt; <B>privilegedCallable</B>(<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&nbsp;callable)</PRE><DL><DD>返回 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 对象,调用它时可在当前的访问控制上下文中执行给定的 <tt>callable</tt> 对象。通常应该在 <CODE>AccessController.doPrivileged(java.security.PrivilegedAction<T>)</CODE> 操作中调用此方法,以便创建 callable 对象,并且如有可能,则在该操作中保持的所选权限设置下执行此对象;或者如果无法调用,则抛出相关的 <CODE>AccessControlException</CODE>。<P><DD><DL><DT><B>参数:</B><DD><CODE>callable</CODE> - 基础任务<DT><B>返回:</B><DD>一个 callable 对象<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 callable 为 null</DL></DD></DL><HR><A NAME="privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable)"><!-- --></A><H3>privilegedCallableUsingCurrentClassLoader</H3><PRE>public static &lt;T&gt; <A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt; <B>privilegedCallableUsingCurrentClassLoader</B>(<A HREF="Callable.html" title="java.util.concurrent 中的接口">Callable</A>&lt;T&gt;&nbsp;callable)</PRE><DL><DD>返回 <A HREF="Callable.html" title="java.util.concurrent 中的接口"><CODE>Callable</CODE></A> 对象,调用它时可在当前的访问控制上下文中,使用当前上下文类加载器作为上下文类加载器来执行给定的 <tt>callable</tt> 对象。通常应该在 <CODE>AccessController.doPrivileged(java.security.PrivilegedAction<T>)</CODE> 操作中调用此方法,以创建 callable 对象,并且如有可能,则在该操作中保持的所选权限设置下执行此对象;或者如果无法调用,则抛出相关的 <CODE>AccessControlException</CODE>。<P><DD><DL><DT><B>参数:</B><DD><CODE>callable</CODE> - 基础任务<DT><B>返回:</B><DD>一个 callable 对象<DT><B>抛出:</B><DD><CODE><A HREF="../../lang/NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果 callable 为 null<DD><CODE>java.security.AccessControlException</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/Executors.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="ExecutorCompletionService.html" title="java.util.concurrent 中的类"><B>上一个类</B></A>&nbsp;&nbsp;<A HREF="ExecutorService.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_2FExecutors.html" target="_top"><B>框架</B></A>  &nbsp;&nbsp;<A HREF="Executors.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 + -
显示快捷键?