public final class TimeoutController
extends java.lang.Object
Executes a task with a specified timeout.
Modifier and Type | Class | Description |
---|---|---|
static class |
TimeoutController.TimeoutException |
Signals that the task timed out.
|
Modifier and Type | Method | Description |
---|---|---|
static void |
execute(java.lang.Runnable task,
long timeout) |
Executes
task in a new deamon Thread and waits for the timeout. |
static void |
execute(java.lang.Thread task,
long timeout) |
Executes
task . |
public static void execute(java.lang.Thread task, long timeout) throws TimeoutController.TimeoutException
task
. Waits for timeout
milliseconds for the task to end and returns. If the task does not return
in time, the thread is interrupted and an Exception is thrown.
The caller should override the Thread.interrupt() method to something that
quickly makes the thread die or use Thread.isInterrupted().task
- The thread to executetimeout
- The timeout in milliseconds. 0 means to wait forever.TimeoutController.TimeoutException
- if the timeout passes and the thread does not return.public static void execute(java.lang.Runnable task, long timeout) throws TimeoutController.TimeoutException
task
in a new deamon Thread and waits for the timeout.task
- The task to executetimeout
- The timeout in milliseconds. 0 means to wait forever.TimeoutController.TimeoutException
- if the timeout passes and the thread does not return.Copyright (c) 1999-2005 - Apache Software Foundation