Junior — Middle
Πώς γίνεται η αρχικοποίηση και η εκτέλεση μιας νέας goroutine σε ένα πρόγραμμα;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go, μια νέα goroutine δημιουργείται με τη λέξη-κλειδί go, ακολουθούμενη από την κλήση μιας συνάρτησης ή μεθόδου. Αυτό δημιουργεί ένα ελαφρύ νήμα εκτέλεσης που λειτουργεί παράλληλα με το κύριο πρόγραμμα.
Η αρχικοποίηση και η εκκίνηση μιας goroutine γίνεται ως εξής:
- Καλείται το
goπριν από τη συνάρτηση:go myFunction(). - Ο προγραμματιστής του Go δημιουργεί μια νέα goroutine και την τοποθετεί στην ουρά για εκτέλεση.
- Η goroutine αρχίζει να εκτελείται ασύγχρονα, ανεξάρτητα από το κύριο πρόγραμμα.
Παράδειγμα:
func sayHello() {
fmt.Println("Γειά από τη goroutine")
}
func main() {
go sayHello() // ξεκινάμε τη goroutine
fmt.Println("Γειά από το main")
time.Sleep(time.Second) // δίνουμε χρόνο στη goroutine να ολοκληρωθεί
}
Είναι σημαντικό να θυμόμαστε ότι οι goroutines είναι πολύ ελαφριές σε σύγκριση με τα νήματα του λειτουργικού συστήματος, και ο προγραμματισμός και η εναλλαγή τους διαχειρίζεται από το runtime του Go, επιτρέποντας αποδοτική χρήση των πόρων.