Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Verwendung Thread.Sleep, JAVA





Frage

Hallo, In einem fertigen funktionsfähigen Java Programm habe ich immer wieder folgende Anweisung entdeckt. this.sleep(0). Ich versteh das so, dass der aktuelle Thread für 0 Milisekunden schlafen soll. Kann mir vieleicht jemand erklären welchen Sinn dies macht.

Antwort 1 von Rangoo

´n Abend!

Dahinter steckt eigentlich kein echter Sinn, der mir geläufig wäre. sleep(0) legt einen Thread in der Tat für 0 Millisekunden schlafen. Der einzige Grund, den ich mir dahinter vorstellen könnte, ist, dass der Thread damit anderen Threads ermöglicht, mal zu laufen. Dafür gibt es aber eigentlich die yield()-Methode.

Außerdem ist sleep static, weshalb die Methode ohnehin nicht an this aufgerufen werden sollte. Vielleicht existiert in dem Programm also auch eine ganz eigene sleep-Methode, die dann bei Parameter 0 etwas besonderes macht?

Antwort 2 von fdsgfdg

Danke für Deine Antwort,

eine eigenen Sleep Methode existiert nicht.

"Der einzige Grund, den ich mir dahinter vorstellen könnte, ist, dass der Thread damit anderen Threads ermöglicht, mal zu
laufen"

Wenn die anderen Threads laufen können, obwohl der andere im Prinzip gar nicht, nämlich für 0 Sekunden gestoppt hatt würde es ja Sinn machen.

Warum da auf einmal "this" verwendet wird weiß ich auch nicht, vielleicht weil ich in der Klasse extends Thread habe.