Sobes.tech
Senior

Τι είναι μια goroutine και πώς λειτουργεί;

sobes.tech AI

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

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

Όταν καλείτε μια συνάρτηση με τη λέξη-κλειδί go, δημιουργείται μια νέα goroutine που εκτελείται ταυτόχρονα με άλλες. Το runtime της Go διανέμει αυτόματα τις goroutines στα διαθέσιμα νήματα του λειτουργικού συστήματος.

Παράδειγμα:

package main
import (
    "fmt"
    "time"
)

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

func main() {
    go sayHello() // ξεκινάει η goroutine
    time.Sleep(time.Second) // περιμένει ώστε η goroutine να ολοκληρωθεί
}

Οι goroutines είναι αποδοτικές για την υλοποίηση ανταγωνιστικών εργασιών, όπως η επεξεργασία αιτημάτων, παράλληλοι υπολογισμοί κ.ά.