org.xins.common
Class TimeOutController
java.lang.Object
org.xins.common.TimeOutController
- public final class TimeOutController
- extends Object
Utility class for executing a task with a certain time-out period.
- Since:
- XINS 1.0.0
- Version:
- $Revision: 1.17 $ $Date: 2006/08/28 09:12:35 $
- Author:
- Ernst de Haan
Method Summary |
static void |
execute(Runnable task,
int timeOut)
Runs the specified task with a specific time-out. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
execute
public static void execute(Runnable task,
int timeOut)
throws IllegalArgumentException,
IllegalThreadStateException,
SecurityException,
TimeOutException
- Runs the specified task with a specific time-out. If the task does
not finish within the specified time-out period, then the thread
executing that task is interrupted using the
Thread.interrupt()
method and a TimeOutException
is thrown.
Note that the specified task could be run either in the current
thread or in a new thread. In the latter case, no initialization is
performed. For example, the Nested Diagnostic Context
identifier (NDC) is not copied from the current thread to the new
one.
- Parameters:
task
- the task to run, cannot be null
.timeOut
- the timeOut in milliseconds, must be > 0.
- Throws:
IllegalArgumentException
- if task == null || timeOut <= 0
.
IllegalThreadStateException
- if the specified task is a Thread
that is already started.
SecurityException
- if the thread did not finish within the total time-out period, but
the interruption of the thread was disallowed (see
Thread.interrupt()
); consequently, the thread may still be
running.
TimeOutException
- if the thread did not finish within the total time-out period and was
interrupted.
See http://www.xins.org/.