Sobes.tech
Junior — Middle

Πώς γίνεται η αρχικοποίηση και η εκτέλεση μιας νέας goroutine σε ένα πρόγραμμα;

sobes.tech AI

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

Στη γλώσσα Go, μια νέα goroutine δημιουργείται με τη λέξη-κλειδί go, ακολουθούμενη από την κλήση μιας συνάρτησης ή μεθόδου. Αυτό δημιουργεί ένα ελαφρύ νήμα εκτέλεσης που λειτουργεί παράλληλα με το κύριο πρόγραμμα.

Η αρχικοποίηση και η εκκίνηση μιας goroutine γίνεται ως εξής:

  1. Καλείται το go πριν από τη συνάρτηση: go myFunction().
  2. Ο προγραμματιστής του Go δημιουργεί μια νέα goroutine και την τοποθετεί στην ουρά για εκτέλεση.
  3. Η goroutine αρχίζει να εκτελείται ασύγχρονα, ανεξάρτητα από το κύριο πρόγραμμα.

Παράδειγμα:

func sayHello() {
    fmt.Println("Γειά από τη goroutine")
}

func main() {
    go sayHello() // ξεκινάμε τη goroutine
    fmt.Println("Γειά από το main")
    time.Sleep(time.Second) // δίνουμε χρόνο στη goroutine να ολοκληρωθεί
}

Είναι σημαντικό να θυμόμαστε ότι οι goroutines είναι πολύ ελαφριές σε σύγκριση με τα νήματα του λειτουργικού συστήματος, και ο προγραμματισμός και η εναλλαγή τους διαχειρίζεται από το runtime του Go, επιτρέποντας αποδοτική χρήση των πόρων.