Loop

lernen.2007

Erfahrenes Mitglied
Hallo Leute,
ich habe eine Klasse Run(siehe unten) und eine Klasse Loop. Die Klasse Loop hat eine methode infineteLoop die einen endlosschleife hat. Wie kann jetzt in Klasse Run
Methode getObjects die loop.infinite nach 10 Sekunden stoppen? Gibt es irgendwie eine Möglichkeit dafür?

//Eine Einfache Klasse die eine andere Klasse aufruft
public class Run {

public Object getObjects()
{
Loop loop = new Loop();
loop.infiniteLoop();
return this;
}

}

public class Loop {

public void infiniteLoop()
{
while(true)
{
System.out.println("Welcome");
}

}
 
Moin!
Eine Möglichkeit: Du benutzt die Klassen Timer und Timertask um nach den 10 Sekunden in der Loop Klasse einen boolean Wert auf false zu setzen. Ausserdem die Loop Klasse in einem eigenen Thread aufrufen, damit nichts blockiert.
Code:
public Object getObjects()
{
Loop loop = new Loop();
Thread t = new Thread(loop);
t.start();
new Timer().schedule(new TimerTask(){ public void run(){loop.stop(),10000}};);
return this;
}

Code:
public class Loop implementes Runnable{
 boolean notStop = true;
public void run(){
{
 while(notStop)
 {
System.out.println("Welcome");
}
}
 public void stop(){
notStop = false;
}




*grüssle*
MeinerEiner
 
Zuletzt bearbeitet von einem Moderator:
Zurück