Sobes.tech
Junior — Middle

Wie erfolgt die Initialisierung und Ausführung einer neuen Goroutine in einem Programm?

sobes.tech KI

Antwort von AI

In Go wird eine neue Goroutine mit dem Schlüsselwort go erstellt, gefolgt von einem Funktions- oder Methodenaufruf. Dabei wird ein leichter Ausführungsthread erzeugt, der parallel zum Hauptprogramm läuft.

Die Initialisierung und das Starten einer Goroutine erfolgen wie folgt:

  1. Es wird go vor der Funktion aufgerufen: go myFunction().
  2. Der Scheduler von Go erstellt eine neue Goroutine und setzt sie in die Ausführungswarteschlange.
  3. Die Goroutine beginnt asynchron zu laufen, unabhängig vom Hauptprogramm.

Beispiel:

func sayHello() {
    fmt.Println("Hallo von der Goroutine")
}

func main() {
    go sayHello() // Goroutine starten
    fmt.Println("Hallo vom main")
    time.Sleep(time.Second) // Zeit geben, damit die Goroutine ausgeführt werden kann
}

Es ist wichtig zu beachten, dass Goroutines sehr leicht im Vergleich zu Betriebssystem-Threads sind, und ihre Planung sowie Kontextwechsel vom Go-Laufzeitumfeld verwaltet werden, was eine effiziente Ressourcennutzung ermöglicht.