Hallo Leute,
ich lerne gerade für eine Klausur und komme mit folgender Frage nicht klar. Könnt ihr mir vielleicht helfen?
Die Frage lautet wie folgt:
Ergänzen Sie das folgende Kode-Fragment so, dass folgendes Verhalten korrekt implementiert wird:
Die Methode run() der Klasse T führt die sleep()-Methode in einer Endlosschleife aus. Der
Aufruf t.suspendThread() soll die sofortige Suspendierung des Threads t bewirken. Der Aufruf
t.resumeThread() soll die Wiederaufnahme des Threads t bewirken. Andere Threads sollen nicht
beeinflusst werden.
Achten Sie darauf, dass Objektsperren nur dann belegt werden, wenn dies erforderlich ist!
Deprecated-Methoden sind nicht gestattet!
PS: Was heißt in diesem Fall suspendieren? Ich habe es mit wait und notify versucht, bin aber nicht weitergekommen.
ich lerne gerade für eine Klausur und komme mit folgender Frage nicht klar. Könnt ihr mir vielleicht helfen?
Die Frage lautet wie folgt:
Ergänzen Sie das folgende Kode-Fragment so, dass folgendes Verhalten korrekt implementiert wird:
Die Methode run() der Klasse T führt die sleep()-Methode in einer Endlosschleife aus. Der
Aufruf t.suspendThread() soll die sofortige Suspendierung des Threads t bewirken. Der Aufruf
t.resumeThread() soll die Wiederaufnahme des Threads t bewirken. Andere Threads sollen nicht
beeinflusst werden.
Achten Sie darauf, dass Objektsperren nur dann belegt werden, wenn dies erforderlich ist!
Deprecated-Methoden sind nicht gestattet!
PS: Was heißt in diesem Fall suspendieren? Ich habe es mit wait und notify versucht, bin aber nicht weitergekommen.
Code:
public class B {
public static void main(String args[]){
T t=new T();
t.start();
consumeTime(); //verbrauche etwas Zeit
t.suspendThread; // Thread t suspendieren
consumeTime();
t.resumeThread(); //Thread t soll weiterarbeiten
//....
}
//...
}
class T extends Thread {
public void run() {
while (true) {
Thread.sleep(10000);
}
}
public void suspendThread(){
}
public void resumeThread(){
}
}