Verwenden Sie die Kotlin-Sleep-Funktion, um die Ausführung eines Threads auszusetzen
-
Verwendung der Kotlin-Funktion
Thread.Sleep()
-
Verwendung der Kotlin-Funktion
TimeUnit
Sleep()
-
Verwendung der Kotlin-Funktion
Delay()
Java hat eine wait()
-Funktion, die die Ausführung des aktuellen Threads pausiert. Der Thread schläft, bis ein anderer Thread eintritt und den schlafenden Thread benachrichtigt.
Aber gibt es ein Äquivalent in Kotlin? Kotlin hat nicht die Funktion wait()
, aber es hat die Funktion sleep()
.
Die Kotlin-Funktion sleep()
unterbricht die Ausführung einer bestimmten Coroutine. Während dies die Ausführung nicht anhält, ermöglicht es die Ausführung anderer Coroutinen.
In diesem Artikel erfahren Sie, wie Sie die Funktion sleep()
in Kotlin verwenden. Außerdem lernen wir eine andere Möglichkeit kennen, eine Coroutine mit der Funktion delay()
zu unterbrechen.
Verwendung der Kotlin-Funktion Thread.Sleep()
Wir können die Funktion Thread.sleep()
verwenden, um eine Coroutine in den Ruhezustand zu versetzen und andere unabhängige Coroutinen laufen zu lassen.
Die Syntax zur Verwendung der Funktion sleep()
lautet:
Thread.sleep(milliseconds)
Hier ist ein Beispiel, in dem wir die Kotlin-Funktion sleep()
verwenden, um die Ausführung einer Coroutine um 3 Sekunden zu unterbrechen.
fun main() {
println("Suspending execution")
try {
// making the coroutine sleep for 3 seconds
Thread.sleep(3000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
println("Resuming execution")
}
Ausgabe:
Verwendung der Kotlin-Funktion TimeUnit
Sleep()
Wie Thread.sleep()
können wir auch TimeUnit
verwenden, um die Ausführung eines Threads zu unterbrechen.
Während die Thread
-Technik nur die Anzahl der Millisekunden als Eingabe akzeptiert, akzeptiert TimeUnit
7 verschiedene Zeiteinheiten. Diese 7 Zeiteinheiten sind:
- Nanosekunden
- Mikrosekunden
- Millisekunden
- Sekunden
- Minuten
- Stunden
- Tage
Die TimeUnit
rechnet den übergebenen Wert automatisch in Millisekunden um, was die Funktion sleep()
entgegennimmt.
Die TimeUnit
-Methoden sind Teil der java.util.concurrent
-Bibliothek. Daher müssen wir die concurrent
-Bibliothek importieren, um diese Methode zu verwenden.
Hier ist ein Beispiel, das die Kotlin-Funktion sleep()
von TimeUnit
demonstriert.
import java.util.concurrent.TimeUnit
fun main() {
println("Suspending execution")
try {
// // making the coroutine sleep for 3 seconds
TimeUnit.SECONDS.sleep(3)
} catch (e: InterruptedException) {
e.printStackTrace()
}
println("Resuming execution")
}
Ausgabe:
Verwendung der Kotlin-Funktion Delay()
Neben der Kotlin-Funktion sleep()
können wir auch die Funktion delay()
verwenden, um die Ausführung einer Coroutine zu unterbrechen. Die Funktion delay()
akzeptiert auch Millisekunden als Eingabe.
Hier ist ein Beispiel, um die Verwendung der Kotlin-Funktion delay()
zu zeigen.
import kotlinx.coroutines.*
fun main() = runBlocking {
launch { // launches a new coroutine
delay(2000L) // This delays the execution by 2 seconds allowing other coroutines to run independently
println("welcome!") // This will be printed after the delay
}
print("Hi and ") // This will be printed first since the other coroutine is delayed
}
Ausgabe:
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn