extreme CPU Auslastung bei Sleep, etc.

Status
Nicht offen für weitere Antworten.

derToby

Mitglied
Hallo,

ich hab in meinem Programm eine Schleife, welche ich eine Minute unterbrechen möchte. Zur Realisierung habe ich die Sleep() Methode verwendet. Leider ist mir direkt aufgefallen, dass bei dieser Methode meine CPU Auslastung direkt auf annähernd 100 % gestiegen ist. Deshalb hab ich einen anderen Weg gewählt und mir eine kleine Funktion selber geschrieben, welche sich einmal am Start die Zeit holt (Calenderfunktion) und dannach ich einer Schleife solange die Zeit wieder neu holt, bis die Differenz zwischen der ersten Messung und der zweiten Messung genau eine Minute beträgt. Tja und leider ging das auch nur zu lasten der CPU...

Es kann doch nicht sein, dass eine solch recht einfaches Programm für die CPU so einen Aufwand bedeutet?
Wie sieht das bei der Timer.schedule Funktion aus? Ist diese Funktion das Zauberwort? Ist meine CPU dadurch auch direkt ausgelastet?

vielen Dank

dertoby
 
B

Beni

Gast
Du meinst "Thread.sleep"? Da sollte eigentlich deine CPU abkühlen. Jedenfalls habe ich dieses Verhalten noch nie gesehen... hast du ein älteres JDK?
 

Sky

Top Contributor
Thread.sleep - siehe Beni's Post...

Die Lösung mit der Schleife - Klar, dass das zur hochen CPU-Auslastung führt... da wird ununterbrochen eine Minute lang ein Vergleich durchgeführt.

Timer.schedule - sollte Problemlos funktionieren

Warum willst Du denn deine Schleife unterbrechen !? Würde gerne den Hintergrund verstehen..
 

derToby

Mitglied
hallo zusammen,

hab mir mal eine neue JDK installiert, jetzt läuft es deutlich besser. Die CPU ist nicht mehr unter Dauerlast.
Was ist denn die elegantere Lösung? Sleep() oder Timer.Schedule()? Eigentlich erfüllt das sleep() alle meine Anforderungen. Gibt es dennoch Gründe das in meinen Augen aufwendigere Timer. Schedule() einzusetzen?

Mein Programm soll (unter anderen) eine Datei von A nach B kopieren. Die Quelldatei ändert sich laufend, allerdings ist es nicht notwendig das Kopieren andauernd durchzuführen. Ein Intervall von 10 min. ist hier vollkommend ausreichen.

schon mal vielen Dank für eure Hilfe

derToby
 
B

Beni

Gast
Wenn sleep reicht, dann reicht sleep :bae:
Ich sehe keine Vorteile für Timer.Schedule() (vielleicht ist das Ding sicherer, kann nicht so einfach unterbrochen werden.)
 

Sky

Top Contributor
Vielleicht ist es auch Geschmackssache. Ich persönlich würde den Timer bevorzugen, weil ich dann nur die Task schreiben muss (also letztendlich nur die Kopieraktion) und der Rest macht der Timer für mich.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
LangUndBreit Erste Schritte 100% cpu auslastung (evtl unendliche while schleife?) Java Basics - Anfänger-Themen 1
Q Prozessor-Auslastung - ? Java Basics - Anfänger-Themen 3
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
F Thread.sleep() Java Basics - Anfänger-Themen 5
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
B Threads Thread sleep() Method einfache Frage Java Basics - Anfänger-Themen 8
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
Spencer Reid JavaFX Memory Thread.sleep Java Basics - Anfänger-Themen 1
S Thread.sleep mit JProgressBar Java Basics - Anfänger-Themen 1
A Problem mit Thread.sleep Java Basics - Anfänger-Themen 4
M Thread.sleep() Funktion Java Basics - Anfänger-Themen 1
I Thread.sleep (1000); Java Basics - Anfänger-Themen 1
Lord.Djerun (Netbeans) Bei TimeUnit.Seconds,Sleep() hängt sich das komplette Programm auf.. Java Basics - Anfänger-Themen 8
S Oberfläche aktualisiert nicht wegen sleep Java Basics - Anfänger-Themen 1
S sleep Java Basics - Anfänger-Themen 4
P Threads Thread.sleep() Java Basics - Anfänger-Themen 7
C Wie funktioniert sleep Java Basics - Anfänger-Themen 5
M Fehler bei Thread.sleep() Java Basics - Anfänger-Themen 5
B Thread.sleep() Java Basics - Anfänger-Themen 1
C Thread.sleep ratsam? Java Basics - Anfänger-Themen 6
L Thread.sleep Java Basics - Anfänger-Themen 6
G problem mit thread.sleep() Java Basics - Anfänger-Themen 6
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
M Threads Thread.Sleep Problem im Zusammenhang mit GUI/ActionPerformed-Methode Java Basics - Anfänger-Themen 4
S Methoden Warum ist sleep static? Java Basics - Anfänger-Themen 9
T Thread Sleep() Java Basics - Anfänger-Themen 4
J Thread.sleep Java Basics - Anfänger-Themen 7
A Thread.sleep() unterbrechen? Java Basics - Anfänger-Themen 3
F Sleep Funktion Java Basics - Anfänger-Themen 12
P Problem mit sleep Java Basics - Anfänger-Themen 24
S Thread.sleep () - Frage Java Basics - Anfänger-Themen 16
G Problem mit sleep() Methode Java Basics - Anfänger-Themen 7
M Frage zur Methode Thread.sleep() Java Basics - Anfänger-Themen 6
A [Fehlermeldung]Sleep-Befehl Java Basics - Anfänger-Themen 4
B Dauerschleife unterbrechen mit sleep() Java Basics - Anfänger-Themen 23
O Memory Thread.sleep() Java Basics - Anfänger-Themen 5
G Problem mit Thread Sleep! Java Basics - Anfänger-Themen 3
S Thread.sleep i.V.m Button.setText() Java Basics - Anfänger-Themen 8
G Schleife mit Thread.sleep pausieren Java Basics - Anfänger-Themen 12
M Zeitdifferenz von Ende - sleep(x) - Start von x abhängig Java Basics - Anfänger-Themen 6
M wait() sleep() geht nicht wirklich Java Basics - Anfänger-Themen 3
R Thread - sleep - interrupt Java Basics - Anfänger-Themen 18
S sleep()-Methode ? Java Basics - Anfänger-Themen 6
T for-Schleife durch sleep verzögern? Java Basics - Anfänger-Themen 1
M Thread.sleep(20) dauert 31ms ? Java Basics - Anfänger-Themen 7
E Anfänger Problem mit Thread.sleep() Java Basics - Anfänger-Themen 11
S Thread.sleep Java Basics - Anfänger-Themen 6
S Frage zu sleep() Java Basics - Anfänger-Themen 3
V Alternative zu Thread.sleep() ? Java Basics - Anfänger-Themen 6
F Sleep, pause, delay Java Basics - Anfänger-Themen 2
S Runtime.exec -> Thread.sleep -> Konflikt Java Basics - Anfänger-Themen 7
S sleep ohne runnable? Java Basics - Anfänger-Themen 8
A Thread.sleep Java Basics - Anfänger-Themen 9
W sleep "hängt" bei vielen Threads Java Basics - Anfänger-Themen 2
M sleep...?? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben