Junior — Middle
Πώς ενημερώνει μια λειτουργία suspend την προσωρινή διακοπή της εκτέλεσής της;
sobes.tech AI
Απάντηση από AI
Η λειτουργία suspend στο Kotlin αναφέρει την προσωρινή διακοπή της εκτέλεσής της μέσω του μηχανισμού των coroutine. Όταν καλείται μια λειτουργία suspend, η εκτέλεση μπορεί να διακοπεί χωρίς να μπλοκάρει το νήμα, και η κατάσταση της λειτουργίας αποθηκεύεται σε ένα ειδικό αντικείμενο που ονομάζεται Continuation. Όταν η λειτουργία διακόπτεται, επιστρέφει τον έλεγχο στον καλούντα, και μετά την ολοκλήρωση της ασύγχρονης λειτουργίας, η εκτέλεση συνεχίζεται από το ίδιο σημείο.
Παράδειγμα:
suspend fun fetchData(): String {
delay(1000) // διακόπτει το coroutine για 1 δευτερόλεπτο
return "Δεδομένα φορτώθηκαν"
}
Εδώ, το delay είναι μια λειτουργία suspend που διακόπτει την εκτέλεση του coroutine χωρίς να μπλοκάρει το νήμα, και συνεχίζει μετά από 1 δευτερόλεπτο.