Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

387
Visualizações
Error java.util.concurrent.TimeoutException

Estoy tratando de crear una función que recibirá un flujo de cadenas y devolverá una lista ordenada de cadenas que cumplan con todos los siguientes criterios:

  1. Deben contener el patrón.
  2. La longitud de las cadenas debe ser igual o mayor que el número de longitud mínima
  3. La longitud de las cadenas debe ser un número par o impar.

Aunque puedo compilar el código, sigo recibiendo un error al probarlo. "java.util.concurrent.TimeoutException"

A continuación se muestra mi función.

....

 public static List<String> findWinners(String pattern, int minLength, boolean even, Stream<String> stream) { return stream.filter(x -> x.matches(pattern) && x.length() >= minLength).filter(x -> x.length() % 2 == (even ? 0 : 1)) .sorted(new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } }).collect(Collectors.toList()); }

.......

A continuación se muestra el stacktrace completo:

 java.util.concurrent.TimeoutException at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) at homeworkTests.StreamsHomeWorkTest.findWinners(StreamsHomeWorkTest.java:227) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.lang.Thread.run(Thread.java:829)`enter code here`
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Según el seguimiento de la pila que compartió, TimeoutException se generó a partir de la invocación del método de bloqueo get de FutureTask .

en java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)

Específicamente, el método get que ha invocado es el formulario sobrecargado con un tiempo de espera en la entrada, ya que el formulario sin parámetros no genera una TimeoutException .

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html#get()

El problema no está dentro de su flujo, sino con el tiempo de espera pasado, ya sea porque el valor es demasiado pequeño o el cálculo lleva demasiado tiempo.

En caso de que no se garantice un límite de tiempo superior, es mejor que utilice el formulario de get sin parámetros, ya que bloqueará la ejecución hasta que se complete o se interrumpa al generar la excepción correspondiente.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda