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:
- Es wird
govor der Funktion aufgerufen:go myFunction(). - Der Scheduler von Go erstellt eine neue Goroutine und setzt sie in die Ausführungswarteschlange.
- 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.