Sobes.tech
Junior — Middle

Τι είναι οι κορουτίνες και ποια έννοια υλοποιούν στον προγραμματισμό;

sobes.tech AI

Απάντηση από AI

Οι κορουτίνες είναι ελαφριές νήματα ή λειτουργίες που μπορούν να διακόψουν την εκτέλεσή τους και να την συνεχίσουν αργότερα, επιτρέποντας τη συγγραφή ασύγχρονου και μη μπλοκαρισμένου κώδικα με πιο απλό και κατανοητό τρόπο.

Εφαρμόζουν την έννοια του συνεργατικού πολυδιεργασμού, όπου ο έλεγχος μεταξύ των κορουτίνων μεταβιβάζεται ρητά και όχι επιβολή από το λειτουργικό σύστημα. Αυτό επιτρέπει την αποτελεσματική χρήση των πόρων και απλοποιεί την εργασία με την ασύγχρονη λειτουργία.

Παράδειγμα σε Kotlin (Android):

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("Ο κορουτίνα ολοκληρώθηκε")
    }
    println("Το πρόγραμμα ξεκίνησε")
}

Εδώ, το launch ξεκινά μια κορουτίνα που διακόπτεται για 1 δευτερόλεπτο χωρίς να μπλοκάρει το κύριο νήμα.