Junior — Middle
Πώς μπορείτε να ξεκινήσετε μια ανασταλμένη λειτουργία σε Kotlin;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, μια λειτουργία παύσης (suspend function) δεν ξεκινάει άμεσα, μπορεί να κληθεί μόνο από μια άλλη λειτουργία παύσης ή από μια coroutine. Για να ξεκινήσετε μια λειτουργία παύσης, πρέπει να δημιουργήσετε μια coroutine χρησιμοποιώντας κατασκευές όπως launch ή async από τη βιβλιοθήκη kotlinx.coroutines.
Παράδειγμα εκκίνησης μιας λειτουργίας παύσης:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Η εργασία ολοκληρώθηκε")
}
fun main() = runBlocking {
launch {
doWork() // εκκίνηση της λειτουργίας παύσης μέσα σε μια coroutine
}
}
Εδώ, το runBlocking δημιουργεί μια coroutine στο κύριο νήμα, και το launch ξεκινά μια νέα coroutine στην οποία καλείται η λειτουργία παύσης doWork. Έτσι, η λειτουργία παύσης εκτελείται μέσα σε μια coroutine.