Delay en Java

Otra entrada breve para dejar una receta que muchas veces tengo que andar buscando por ahí porque no me suelo acordar. Ésta vez es sobre programación, cosa que igual no interesa mucho a los que siguen éste blog por los contenidos sobre linux (que viene a ser el tema principal del blog).

De hecho, por si a alguien no le interesa mucho la programación voy a cortar aquí ya la parte del post que se ve en portada, así será más cómodo ver el resto de las entradas😀

Lo que quiero “recordar” es como se hace un delay, un retardo, en java. En los lenguajes “de toda la vida” (pascal, ada, c, …) solía ser un simple delay(n), donde n eran segundos o milisegundos. En java la instrucción también es directa pero nunca me acuerdo en que clase está (y mira que es lógico que esté ahí xDDD). Total, que la instrucción es tan siempre como:

Thread.sleep(n); // donde n son milisegundos

Dejo un ejemplo rápido (escrito de memoria, para que nos digáis nada si al copiar&pegar no funciona :P) de un main que saluda, espera 5 segundos y se despide:

public class main {
public static void main(String args[]) {
System.out.println("Hola...");
Thread.sleep(5000);
System.out.println("Adios!");
}
}

Sencillo, ¿verdad? Pues no tanto, que eso si lo probáis no compila porque es necesario tratar una excepción por si el sleep falla, la forma correcta es ésta:

public class main {
public static void main(String args[]) {
System.out.println("Hola...");
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
// aquí tratamos la excepción como queramos, haciendo nada, sacando por pantalla el error, ...
}
System.out.println("Adios!");
}
}

Ahora si, ale, nada más, ya no me hará falta tirar de google para encontrar ésto nunca más!😀

  1. Recuerdo en mis primeros pasos en Java que gasté algo de tiempo en buscar el clásico, querido y tan necesario delay.

    Buena ayuda memoria😉

  2. Espero que no uses el delay para tratar de controlar el acceso a secciones críticas😛 XDDD

  3. Luciano, por eso lo he apuntado, que hoy todavía me acuerdo pero… se me hace raro eso de usar la clase Thread para hacer un delay xDDDD

    JoseK, pues no se me había ocurrido, pero seguro que habría colado en alguna práctica de concurrente…. xDDDDD

  4. gracias no me la conocia esta, espero qeu exista una funcion o metodo para hacer el limpiado de pantalla en java como lo era el “clrscr()” de C

    de todas maneras muchas gracias por el buen dato del delay

    • Cesar
    • 24/09/09

    Exelente mini tutorial sensillo y claro me ha servido de mucho

    Gracias🙂

    • GrandeC.Mauricio
    • 12/10/09

    Muchas gracias por el minitutorial. Muy bueno y facil de entender. Me ha servido ya que es justo lo que buscaba

  5. Sr …

    practico, excelente….

    gracias

    • Riot!
    • 15/10/10

    Graicas, sencillo y con mucha utilidad.🙂

  6. Gracias : ) me sirvió mucho. Aunque no era necesario, estuve mucho tiempo con la curiosidad de cómo usarlo en java. Lo agregué en un programa de la escuela solo para que se viera mas bonito xD

    • david
    • 30/06/11

    estoy tratabdo de hacer una bandera con etiquetas pero quiero q se vea cuando se va pintado cada etiqueta y a lo ultimo poner una imagen del escudo de mexico, porfavor ayuda

    • Anónimo
    • 23/01/12

    Te tengo una pregunta, si yo quiero por ejemplo encender un led o un motor por 2 segundos puedo usar ese mismo Thread.sleep(2000) y luego apagarlo?

    Encender motor
    Tenerlo encendido por 2s
    Apagar motor

    • Anónimo
    • 5/10/12

    java

  7. Hi I am so happy I found your blog page, I really found you by mistake,
    while I was browsing on Bing for something else,
    Anyhow I am here now and would just like to
    say thanks for a marvelous post and a all round entertaining
    blog (I also love the theme/design), I don’t have time to browse it all at the
    moment but I have bookmarked it and also added in your RSS feeds, so when I have time I will be back to read more,
    Please do keep up the superb work.

  8. hhey

  9. A person necessarily lend a hand to make severely articles I would state.
    That is the very first time I frequented your website page and up to now?
    I surprised with the analysis you made to make this actual submit incredible.
    Fantastic task!

  10. Hi just wanted to give you a brief heads up and let you
    know a few of the pictures aren’t loading correctly. I’m not sure why but I think its a linking issue.
    I’ve tried it in two different web browsers and both show the same outcome.

  11. Appreciation to my father who shared with me about
    this blog, this web site is in fact remarkable.

  12. It’s not my first time to go to see this site, i am browsing this site dailly and get nice data from here daily.

  13. Just desire to say your article is as surprising.

    The clearness to your submit is simply great and that i could suppose you’re an expert on this subject. Fine with your permission allow me to grab your RSS feed to keep updated with coming near near post. Thank you 1,000,000 and please carry on the gratifying work.

  14. Genuinely when someone doesn’t understand afterward its up to other visitors that they will help, so here it happens.

  15. Add the fact that these drinks come in very large cans, and the
    kids don’t even check to see how many servings they’re getting.
    Of even more concern may be the rising use of alcoholic energy drinks.
    It is when they feel sleepy that alerts them to the fact it is time to
    go home.

  16. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executables would. Just in time compilers were introduced from an early stage that compile bytecodes to machine code during runtime.

    • Pylii
    • 29/01/15

    Hola una pregunta en mi compu no le reconoce el sleep que puedo hacer

  1. 6/09/14
    Trackback from : rubber flooring garage

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: