Java : TimeoutException (Thread) con ejemplos
TimeoutException (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos TimeoutException.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
Se lanza una excepción cuando se agota el tiempo de espera de una operación de bloqueo. Las operaciones de bloqueo con un tiempo de espera especificado necesitan un medio para indicar que se ha agotado. Muchas de estas operaciones pueden devolver un valor que indica el tiempo de espera; si esto no es posible o deseable, se debe declarar y lanzar una excepción TimeoutException. (Traducción automática)
try (final var executorService = Executors.newSingleThreadExecutor()) {
final var future = executorService.submit(() -> {
try {
System.out.println("task start");
TimeUnit.SECONDS.sleep(3);
return "abcd";
} catch (InterruptedException e) {
System.out.println("Interrupted!");
return null;
} finally {
System.out.println("task end");
}
});
TimeUnit.SECONDS.sleep(1);
try {
System.out.println("-- get start --");
final var ret = future.get(1, TimeUnit.SECONDS);
System.out.println("-- get end --");
System.out.println("ret = " + ret);
} catch (TimeoutException e) {
System.out.println("TimeoutException!");
}
}
// Result
// ↓
//task start
//-- get start --
//TimeoutException!
//task end
Constructors
TimeoutException ()
Construye una TimeoutException sin ningún mensaje de detalle especificado. (Traducción automática)
final var e = new TimeoutException();
System.out.println(e); // java.util.concurrent.TimeoutException
TimeoutException (String message)
Construye una TimeoutException con el mensaje de detalle especificado. (Traducción automática)
final var e = new TimeoutException("abc");
System.out.println(e); // java.util.concurrent.TimeoutException: abc
System.out.println(e.getMessage()); // abc
Methods declared in Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Consulte el siguiente enlace.
Related posts
- Ejemplos de API