| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
  |
  +--org.apache.tools.ant.ProjectComponent
        |
        +--org.apache.tools.ant.Task
              |
              +--org.apache.tools.ant.taskdefs.Parallel
Executes the contained tasks in separate threads, continuing once all are completed.
 New behavior allows for the ant script to specify a maximum number of
 threads that will be executed in parallel.  One should be very careful about
 using the waitFor task when specifying threadCount
 as it can cause deadlocks if the number of threads is too small or if one of
 the nested tasks fails to execute completely.  The task selection algorithm
 will insure that the tasks listed before a task have started before that
 task is started, but it will not insure a successful completion of those
 tasks or that those tasks will finish first (i.e. it's a classic race
 condition).
 
| Nested Class Summary | |
| static class | Parallel.TaskListClass which holds a list of tasks to execute | 
| Field Summary | 
| Fields inherited from class org.apache.tools.ant.Task | 
| description, location, target, taskName, taskType, wrapper | 
| Fields inherited from class org.apache.tools.ant.ProjectComponent | 
| project | 
| Constructor Summary | |
| Parallel() | |
| Method Summary | |
|  void | addDaemons(Parallel.TaskList daemonTasks)Add a group of daemon threads | 
|  void | addTask(Task nestedTask)Add a nested task to execute in parallel. | 
|  void | execute()Execute the parallel tasks | 
|  void | setFailOnAny(boolean failOnAny)Control whether a failure in a nested task halts execution. | 
|  void | setPollInterval(int pollInterval)Interval to poll for completed threads when threadCount or threadsPerProcessor is specified. | 
|  void | setThreadCount(int numThreads)Statically determine the maximum number of tasks to execute simultaneously. | 
|  void | setThreadsPerProcessor(int numThreadsPerProcessor)Dynamically generates the number of threads to execute based on the number of available processors (via java.lang.Runtime.availableProcessors()). | 
|  void | setTimeout(long timeout)Sets the timeout on this set of tasks. | 
| Methods inherited from class org.apache.tools.ant.Task | 
| getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType | 
| Methods inherited from class org.apache.tools.ant.ProjectComponent | 
| getProject, setProject | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
public Parallel()
| Method Detail | 
public void addDaemons(Parallel.TaskList daemonTasks)
daemonTasks - The tasks to be executed as daemon.public void setPollInterval(int pollInterval)
pollInterval - New value of property pollInterval.public void setFailOnAny(boolean failOnAny)
failOnAny - if true any nested task failure causes parallel to
        complete.public void addTask(Task nestedTask)
addTask in interface TaskContainernestedTask - Nested task to be executed in parallelpublic void setThreadsPerProcessor(int numThreadsPerProcessor)
java.lang.Runtime.availableProcessors()). Requires a J2SE
 1.4 VM, and it will overwrite the value set in threadCount.
 If used in a 1.1, 1.2, or 1.3 VM then the task will defer to
 threadCount.; optional
numThreadsPerProcessor - Number of threads to create per available
        processor.public void setThreadCount(int numThreads)
threadCount
 tasks will be executed at one time.  If threadsPerProcessor
 is set and the JVM is at least a 1.4 VM then this value is
 ignored.; optional
numThreads - total number of threads.public void setTimeout(long timeout)
timeout - timeout in milliseconds.
public void execute()
             throws BuildException
execute in class TaskBuildException - if any of the threads failed.| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||