Sobes.tech
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.