| |
|
| org.apache.tools.ant.Task org.apache.tools.ant.taskdefs.Parallel
Parallel | public class Parallel extends Task implements TaskContainer(Code) | | 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).
since: Ant 1.4 |
Inner Class :public static class TaskList implements TaskContainer | |
Method Summary | |
public void | addDaemons(TaskList daemonTasks) | public void | addTask(Task nestedTask) Add a nested task to execute in parallel. | public void | execute() | public void | setFailOnAny(boolean failOnAny) Control whether a failure in a nested task halts execution. | public void | setPollInterval(int pollInterval) Interval to poll for completed threads when threadCount or
threadsPerProcessor is specified. | public void | setThreadCount(int numThreads) Statically determine the maximum number of tasks to execute
simultaneously. | public void | setThreadsPerProcessor(int numThreadsPerProcessor) Dynamically generates the number of threads to execute based on the
number of available processors (via
java.lang.Runtime.availableProcessors() ). | public void | setTimeout(long timeout) Sets the timeout on this set of tasks. |
addDaemons | public void addDaemons(TaskList daemonTasks)(Code) | | Add a group of daemon threads
Parameters: daemonTasks - The tasks to be executed as daemon. |
addTask | public void addTask(Task nestedTask)(Code) | | Add a nested task to execute in parallel.
Parameters: nestedTask - Nested task to be executed in parallel |
setFailOnAny | public void setFailOnAny(boolean failOnAny)(Code) | | Control whether a failure in a nested task halts execution. Note that
the task will complete but existing threads will continue to run - they
are not stopped
Parameters: failOnAny - if true any nested task failure causes parallel tocomplete. |
setPollInterval | public void setPollInterval(int pollInterval)(Code) | | Interval to poll for completed threads when threadCount or
threadsPerProcessor is specified. Integer in milliseconds.; optional
Parameters: pollInterval - New value of property pollInterval. |
setThreadCount | public void setThreadCount(int numThreads)(Code) | | Statically determine the maximum number of tasks to execute
simultaneously. If there are less tasks than threads then all will be
executed at once, if there are more then only 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
Parameters: numThreads - total number of threads. |
setThreadsPerProcessor | public void setThreadsPerProcessor(int numThreadsPerProcessor)(Code) | | Dynamically generates the number of threads to execute based on the
number of available processors (via
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
Parameters: numThreadsPerProcessor - Number of threads to create per availableprocessor. |
setTimeout | public void setTimeout(long timeout)(Code) | | Sets the timeout on this set of tasks. If the timeout is reached
before the other threads complete, the execution of this
task completes with an exception.
Note that existing threads continue to run.
Parameters: timeout - timeout in milliseconds. |
|
|
|