T
Thread01
Gast
Hallo,
ich habe eine Frage zur Systemauslastung durch Java. In diesem Forum habe ich schon einiges gelsen und würde gerne meine "Theorie" prüfen.
Das Szenario: Ich mit meinem simplen Java-Programm verbrauche circa. 50-60% CPU. Unabhängig vom Rechner (natürlich ist es auf meinem schnelleren Rechner weniger, aber immernoch sehr hoch). Das Programm sieht so aus:
Lösung: In Beiträgen habe ich gelesen, dass viele Leute ähnliche Probleme hatten. Es wurde allgemein dazu geraten, ein "Thread.sleep(xxx)" einzubauen. Wenn ich dies nun eingebaut habe (Sleep: 10-1.000), dümpelt die CPU-Leistung bei 0-5%. Ein enormer Fortschritt. Man sollte aber nie eine Schleife so durchlaufen lassen, das saugt zu viel Performance.
Problem zu hohe Leistung: BUSTED
Sich draus ergebendes Problem: Ich frage ja eine Bedigung ab. Und die Idee dahiner ist, dass sobald sich die Bedingung ändert eine Aktion ausgeführt wird. Sollte jedoch nun eine Sleeptime aktiviert werden, dann verzögert sich ja alles. Gibt es da einen anderen Weg? Oder macht das keinen Unterschied, wenn ich 20 ms Sleeptime einbaue?
Gruß,
Gast
P.S.: Das ist ja schwer einen Gast-Benutzernamen zu finden, den es noch nicht gibt ... wie kann es sein, dass es bereits den Benutzer 'Gast934' gibt???
ich habe eine Frage zur Systemauslastung durch Java. In diesem Forum habe ich schon einiges gelsen und würde gerne meine "Theorie" prüfen.
Das Szenario: Ich mit meinem simplen Java-Programm verbrauche circa. 50-60% CPU. Unabhängig vom Rechner (natürlich ist es auf meinem schnelleren Rechner weniger, aber immernoch sehr hoch). Das Programm sieht so aus:
Java:
public class Test extends Thread {
public void run() {
while (true) {
if (bedingung == true) {
// dann tue irgendwas ...
}
}
}
public static void main(String[] args) {
new Test().start();
}
}
Lösung: In Beiträgen habe ich gelesen, dass viele Leute ähnliche Probleme hatten. Es wurde allgemein dazu geraten, ein "Thread.sleep(xxx)" einzubauen. Wenn ich dies nun eingebaut habe (Sleep: 10-1.000), dümpelt die CPU-Leistung bei 0-5%. Ein enormer Fortschritt. Man sollte aber nie eine Schleife so durchlaufen lassen, das saugt zu viel Performance.
Problem zu hohe Leistung: BUSTED
Sich draus ergebendes Problem: Ich frage ja eine Bedigung ab. Und die Idee dahiner ist, dass sobald sich die Bedingung ändert eine Aktion ausgeführt wird. Sollte jedoch nun eine Sleeptime aktiviert werden, dann verzögert sich ja alles. Gibt es da einen anderen Weg? Oder macht das keinen Unterschied, wenn ich 20 ms Sleeptime einbaue?
Gruß,
Gast
P.S.: Das ist ja schwer einen Gast-Benutzernamen zu finden, den es noch nicht gibt ... wie kann es sein, dass es bereits den Benutzer 'Gast934' gibt???