Java Doc for Executors.java in  » 6.0-JDK-Core » Collections-Jar-Zip-Logging-regex » java » util » concurrent » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Home
Java Source Code / Java Documentation
1.6.0 JDK Core
2.6.0 JDK Modules
3.6.0 JDK Modules com.sun
4.6.0 JDK Modules com.sun.java
5.6.0 JDK Modules sun
6.6.0 JDK Platform
7.Ajax
8.Apache Harmony Java SE
9.Aspect oriented
10.Authentication Authorization
11.Blogger System
12.Build
13.Byte Code
14.Cache
15.Chart
16.Chat
17.Code Analyzer
18.Collaboration
19.Content Management System
20.Database Client
21.Database DBMS
22.Database JDBC Connection Pool
23.Database ORM
24.Development
25.EJB Server
26.ERP CRM Financial
27.ESB
28.Forum
29.Game
30.GIS
31.Graphic 3D
32.Graphic Library
33.Groupware
34.HTML Parser
35.IDE
36.IDE Eclipse
37.IDE Netbeans
38.Installer
39.Internationalization Localization
40.Inversion of Control
41.Issue Tracking
42.J2EE
43.J2ME
44.JBoss
45.JMS
46.JMX
47.Library
48.Mail Clients
49.Music
50.Net
51.Parser
52.PDF
53.Portal
54.Profiler
55.Project Management
56.Report
57.RSS RDF
58.Rule Engine
59.Science
60.Scripting
61.Search Engine
62.Security
63.Sevlet Container
64.Source Control
65.Swing Library
66.Template Engine
67.Test Coverage
68.Testing
69.UML
70.Web Crawler
71.Web Framework
72.Web Mail
73.Web Server
74.Web Services
75.Web Services apache cxf 2.2.6
76.Web Services AXIS2
77.Wiki Engine
78.Workflow Engines
79.XML
80.XML UI
Java Source Code / Java Documentation » 6.0 JDK Core » Collections Jar Zip Logging regex » java.util.concurrent 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   java.util.concurrent.Executors

Executors
public class Executors (Code)
Factory and utility methods for Executor , ExecutorService , ScheduledExecutorService , ThreadFactory , and Callable classes defined in this package. This class supports the following kinds of methods:
  • Methods that create and return an ExecutorService set up with commonly useful configuration settings.
  • Methods that create and return a ScheduledExecutorService set up with commonly useful configuration settings.
  • Methods that create and return a "wrapped" ExecutorService, that disables reconfiguration by making implementation-specific methods inaccessible.
  • Methods that create and return a ThreadFactory that sets newly created threads to a known state.
  • Methods that create and return a Callable out of other closure-like forms, so they can be used in execution methods requiring Callable.

since:
   1.5
author:
   Doug Lea

Inner Class :final static class RunnableAdapter implements Callable<T>
Inner Class :final static class PrivilegedCallable implements Callable<T>
Inner Class :final static class PrivilegedCallableUsingCurrentClassLoader implements Callable<T>
Inner Class :static class DefaultThreadFactory implements ThreadFactory
Inner Class :static class PrivilegedThreadFactory extends DefaultThreadFactory
Inner Class :static class DelegatedExecutorService extends AbstractExecutorService
Inner Class :static class FinalizableDelegatedExecutorService extends DelegatedExecutorService
Inner Class :static class DelegatedScheduledExecutorService extends DelegatedExecutorService implements ScheduledExecutorService



Method Summary
public static  Callable<T>callable(Runnable task, T result)
     Returns a Callable object that, when called, runs the given task and returns the given result.
public static  Callable<Object>callable(Runnable task)
     Returns a Callable object that, when called, runs the given task and returns null.
public static  Callable<Object>callable(PrivilegedAction action)
     Returns a Callable object that, when called, runs the given privileged action and returns its result.
public static  Callable<Object>callable(PrivilegedExceptionAction action)
     Returns a Callable object that, when called, runs the given privileged exception action and returns its result.
public static  ThreadFactorydefaultThreadFactory()
     Returns a default thread factory used to create new threads. This factory creates all new threads used by an Executor in the same ThreadGroup .
public static  ExecutorServicenewCachedThreadPool()
     Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available.
public static  ExecutorServicenewCachedThreadPool(ThreadFactory threadFactory)
     Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available, and uses the provided ThreadFactory to create new threads when needed.
public static  ExecutorServicenewFixedThreadPool(int nThreads)
     Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue.
public static  ExecutorServicenewFixedThreadPool(int nThreads, ThreadFactory threadFactory)
     Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue, using the provided ThreadFactory to create new threads when needed.
public static  ScheduledExecutorServicenewScheduledThreadPool(int corePoolSize)
     Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
Parameters:
  corePoolSize - the number of threads to keep in the pool,even if they are idle.
public static  ScheduledExecutorServicenewScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
     Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
Parameters:
  corePoolSize - the number of threads to keep in the pool,even if they are idle.
Parameters:
  threadFactory - the factory to use when the executorcreates a new thread.
public static  ExecutorServicenewSingleThreadExecutor()
     Creates an Executor that uses a single worker thread operating off an unbounded queue.
public static  ExecutorServicenewSingleThreadExecutor(ThreadFactory threadFactory)
     Creates an Executor that uses a single worker thread operating off an unbounded queue, and uses the provided ThreadFactory to create a new thread when needed.
public static  ScheduledExecutorServicenewSingleThreadScheduledExecutor()
     Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically. (Note however that if this single thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.) Tasks are guaranteed to execute sequentially, and no more than one task will be active at any given time.
public static  ScheduledExecutorServicenewSingleThreadScheduledExecutor(ThreadFactory threadFactory)
     Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically.
public static  Callable<T>privilegedCallable(Callable<T> callable)
     Returns a Callable object that will, when called, execute the given callable under the current access control context.
public static  Callable<T>privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
     Returns a Callable object that will, when called, execute the given callable under the current access control context, with the current context class loader as the context class loader.
public static  ThreadFactoryprivilegedThreadFactory()
     Returns a thread factory used to create new threads that have the same permissions as the current thread. This factory creates threads with the same settings as Executors.defaultThreadFactory , additionally setting the AccessControlContext and contextClassLoader of new threads to be the same as the thread invoking this privilegedThreadFactory method.
public static  ExecutorServiceunconfigurableExecutorService(ExecutorService executor)
     Returns an object that delegates all defined ExecutorService methods to the given executor, but not any other methods that might otherwise be accessible using casts.
public static  ScheduledExecutorServiceunconfigurableScheduledExecutorService(ScheduledExecutorService executor)
     Returns an object that delegates all defined ScheduledExecutorService methods to the given executor, but not any other methods that might otherwise be accessible using casts.



Method Detail
callable
public static Callable<T> callable(Runnable task, T result)(Code)
Returns a Callable object that, when called, runs the given task and returns the given result. This can be useful when applying methods requiring a Callable to an otherwise resultless action.
Parameters:
  task - the task to run
Parameters:
  result - the result to return a callable object
throws:
  NullPointerException - if task null



callable
public static Callable<Object> callable(Runnable task)(Code)
Returns a Callable object that, when called, runs the given task and returns null.
Parameters:
  task - the task to run a callable object
throws:
  NullPointerException - if task null



callable
public static Callable<Object> callable(PrivilegedAction action)(Code)
Returns a Callable object that, when called, runs the given privileged action and returns its result.
Parameters:
  action - the privileged action to run a callable object
throws:
  NullPointerException - if action null



callable
public static Callable<Object> callable(PrivilegedExceptionAction action)(Code)
Returns a Callable object that, when called, runs the given privileged exception action and returns its result.
Parameters:
  action - the privileged exception action to run a callable object
throws:
  NullPointerException - if action null



defaultThreadFactory
public static ThreadFactory defaultThreadFactory()(Code)
Returns a default thread factory used to create new threads. This factory creates all new threads used by an Executor in the same ThreadGroup . If there is a java.lang.SecurityManager , it uses the group of System.getSecurityManager , else the group of the thread invoking this defaultThreadFactory method. Each new thread is created as a non-daemon thread with priority set to the smaller of Thread.NORM_PRIORITY and the maximum priority permitted in the thread group. New threads have names accessible via Thread.getName of pool-N-thread-M, where N is the sequence number of this factory, and M is the sequence number of the thread created by this factory. a thread factory



newCachedThreadPool
public static ExecutorService newCachedThreadPool()(Code)
Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available. These pools will typically improve the performance of programs that execute many short-lived asynchronous tasks. Calls to execute will reuse previously constructed threads if available. If no existing thread is available, a new thread will be created and added to the pool. Threads that have not been used for sixty seconds are terminated and removed from the cache. Thus, a pool that remains idle for long enough will not consume any resources. Note that pools with similar properties but different details (for example, timeout parameters) may be created using ThreadPoolExecutor constructors. the newly created thread pool



newCachedThreadPool
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)(Code)
Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available, and uses the provided ThreadFactory to create new threads when needed.
Parameters:
  threadFactory - the factory to use when creating new threads the newly created thread pool
throws:
  NullPointerException - if threadFactory is null



newFixedThreadPool
public static ExecutorService newFixedThreadPool(int nThreads)(Code)
Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue. At any point, at most nThreads threads will be active processing tasks. If additional tasks are submitted when all threads are active, they will wait in the queue until a thread is available. If any thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks. The threads in the pool will exist until it is explicitly ExecutorService.shutdown shutdown .
Parameters:
  nThreads - the number of threads in the pool the newly created thread pool
throws:
  IllegalArgumentException - if nThreads <= 0



newFixedThreadPool
public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)(Code)
Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue, using the provided ThreadFactory to create new threads when needed. At any point, at most nThreads threads will be active processing tasks. If additional tasks are submitted when all threads are active, they will wait in the queue until a thread is available. If any thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks. The threads in the pool will exist until it is explicitly ExecutorService.shutdownshutdown .
Parameters:
  nThreads - the number of threads in the pool
Parameters:
  threadFactory - the factory to use when creating new threads the newly created thread pool
throws:
  NullPointerException - if threadFactory is null
throws:
  IllegalArgumentException - if nThreads <= 0



newScheduledThreadPool
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)(Code)
Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
Parameters:
  corePoolSize - the number of threads to keep in the pool,even if they are idle. a newly created scheduled thread pool
throws:
  IllegalArgumentException - if corePoolSize < 0



newScheduledThreadPool
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)(Code)
Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
Parameters:
  corePoolSize - the number of threads to keep in the pool,even if they are idle.
Parameters:
  threadFactory - the factory to use when the executorcreates a new thread. a newly created scheduled thread pool
throws:
  IllegalArgumentException - if corePoolSize < 0
throws:
  NullPointerException - if threadFactory is null



newSingleThreadExecutor
public static ExecutorService newSingleThreadExecutor()(Code)
Creates an Executor that uses a single worker thread operating off an unbounded queue. (Note however that if this single thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.) Tasks are guaranteed to execute sequentially, and no more than one task will be active at any given time. Unlike the otherwise equivalent newFixedThreadPool(1) the returned executor is guaranteed not to be reconfigurable to use additional threads. the newly created single-threaded Executor



newSingleThreadExecutor
public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)(Code)
Creates an Executor that uses a single worker thread operating off an unbounded queue, and uses the provided ThreadFactory to create a new thread when needed. Unlike the otherwise equivalent newFixedThreadPool(1, threadFactory) the returned executor is guaranteed not to be reconfigurable to use additional threads.
Parameters:
  threadFactory - the factory to use when creating newthreads the newly created single-threaded Executor
throws:
  NullPointerException - if threadFactory is null



newSingleThreadScheduledExecutor
public static ScheduledExecutorService newSingleThreadScheduledExecutor()(Code)
Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically. (Note however that if this single thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.) Tasks are guaranteed to execute sequentially, and no more than one task will be active at any given time. Unlike the otherwise equivalent newScheduledThreadPool(1) the returned executor is guaranteed not to be reconfigurable to use additional threads. the newly created scheduled executor



newSingleThreadScheduledExecutor
public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)(Code)
Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically. (Note however that if this single thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.) Tasks are guaranteed to execute sequentially, and no more than one task will be active at any given time. Unlike the otherwise equivalent newScheduledThreadPool(1, threadFactory) the returned executor is guaranteed not to be reconfigurable to use additional threads.
Parameters:
  threadFactory - the factory to use when creating newthreads a newly created scheduled executor
throws:
  NullPointerException - if threadFactory is null



privilegedCallable
public static Callable<T> privilegedCallable(Callable<T> callable)(Code)
Returns a Callable object that will, when called, execute the given callable under the current access control context. This method should normally be invoked within an AccessController.doPrivileged action to create callables that will, if possible, execute under the selected permission settings holding within that action; or if not possible, throw an associated AccessControlException .
Parameters:
  callable - the underlying task a callable object
throws:
  NullPointerException - if callable null



privilegedCallableUsingCurrentClassLoader
public static Callable<T> privilegedCallableUsingCurrentClassLoader(Callable<T> callable)(Code)
Returns a Callable object that will, when called, execute the given callable under the current access control context, with the current context class loader as the context class loader. This method should normally be invoked within an AccessController.doPrivileged action to create callables that will, if possible, execute under the selected permission settings holding within that action; or if not possible, throw an associated AccessControlException .
Parameters:
  callable - the underlying task a callable object
throws:
  NullPointerException - if callable null
throws:
  AccessControlException - if the current access controlcontext does not have permission to both set and get contextclass loader.



privilegedThreadFactory
public static ThreadFactory privilegedThreadFactory()(Code)
Returns a thread factory used to create new threads that have the same permissions as the current thread. This factory creates threads with the same settings as Executors.defaultThreadFactory , additionally setting the AccessControlContext and contextClassLoader of new threads to be the same as the thread invoking this privilegedThreadFactory method. A new privilegedThreadFactory can be created within an AccessController.doPrivileged action setting the current thread's access control context to create threads with the selected permission settings holding within that action.

Note that while tasks running within such threads will have the same access control and class loader settings as the current thread, they need not have the same java.lang.ThreadLocal or java.lang.InheritableThreadLocal values. If necessary, particular values of thread locals can be set or reset before any task runs in ThreadPoolExecutor subclasses using ThreadPoolExecutor.beforeExecute . Also, if it is necessary to initialize worker threads to have the same InheritableThreadLocal settings as some other designated thread, you can create a custom ThreadFactory in which that thread waits for and services requests to create others that will inherit its values. a thread factory
throws:
  AccessControlException - if the current access controlcontext does not have permission to both get and set contextclass loader.




unconfigurableExecutorService
public static ExecutorService unconfigurableExecutorService(ExecutorService executor)(Code)
Returns an object that delegates all defined ExecutorService methods to the given executor, but not any other methods that might otherwise be accessible using casts. This provides a way to safely "freeze" configuration and disallow tuning of a given concrete implementation.
Parameters:
  executor - the underlying implementation an ExecutorService instance
throws:
  NullPointerException - if executor null



unconfigurableScheduledExecutorService
public static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)(Code)
Returns an object that delegates all defined ScheduledExecutorService methods to the given executor, but not any other methods that might otherwise be accessible using casts. This provides a way to safely "freeze" configuration and disallow tuning of a given concrete implementation.
Parameters:
  executor - the underlying implementation a ScheduledExecutorService instance
throws:
  NullPointerException - if executor null



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.