Pause - ohne Thread

Was willst du denn genau machen?
Die sleep(long l) Methode von Thread ist statisch sprich du kannst sie auch ohne eine Thread Instanz aufrufen. Dabei wird allerdings der Thread in dem der Code gerade läuft angehalten im Beispiel der Main-Thread.

Code:
/*
 * Created on 21.10.2004
 */
package de.tutorials;

/**
 * @author Darimont
 *  
 */
public class Test27 {

    public static void main(String[] args) {
        for(int i = 0; i< 100; i++){
            try {
                Thread.sleep(100L);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(i);
        }
    }
}

Implizit hast du immer mindestens einen Thread (Main Thread) ...

Gruß Tom
 
Also ich wollte das in einem Servlet machen, ich möchte darauf warten bis eine Datei nicht mehr vorhanden ist


Also -gucken ob die datei noch da ist
-wenn ja dann PAUSE und nochmal gucken
-wenn nein dann weitermachen

Ich wollte daraus ne whileschleife machen, aber damit das nicht zu serverlastig ist (ständig gucken) wollte ich zwischendurch für eine halbe sekunde oder so pausieren)
 
Thomas hat dir doch die richtige antwort schon gegeben ;)

Code:
public void doGet(HttpServletRequest request, HttpServletResponse ....
   boolean run = true; int i = 0;
   while(run){
            try {
                Thread.sleep(100L);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            if(checkFileExists()) 
                         // mach was
            if(i > 100) 
                     run = false;
        }
 
Oh, habs grad ausprobiert, wußte nicht, dass man Thread einfach so aufrufen kann.
Wußte nicht, dass da trotzdem Threads "existieren", dass main z.B. als Thread gehandhabt werden kann!


Danke!
 
Zurück