public class DelayExample {
public static void main(String[] args) {
new DelayExample();
}
private int i = 1;
public DelayExample() {
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out
.println("\tunterbricht die Endlosschleife alle 10 sec");
}
}
}).start();
endlosSchleife("Ich bin eine Endlosschleife");
}
private void endlosSchleife(String s) {
while (true) {
System.out.println(s + " im " + i + ". Durchgang");
i++;
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Ich möchte es so realisieren (homedesign-technisch), dass erst ein Teil des codes ausgeführt wird , kurze Pause, dann zweiter Teil des Codes. Mit Thread.sleep funktioniert das leider nicht.
public class DelayExample implements Runnable{
public static void main(String[] args) {
new DelayExample();
}
public DelayExample() {
new Thread(this).start(); //Starte deine beiden Code Teile mit 2 Sekunden Unterschied
doOtherThings(); //Hier kann gleich irgendwas anderes gemacht werden, während die anderen beiden do's() laufen
}
public void run() {
do1(); //Erster Teil der Ausführung
try { Thread.sleep(2000); } catch (InterruptedException e) {}
do2(); //Zweiter Teil der Ausführung
}
}
new Timer("Name").schedule(new TimerTask() {
@Override
public void run() {
// ich werde in 5000 MSek ausgeführt
}
}, 5000L);