Junior — Middle
Quels sont les avantages de l'utilisation des goroutines par rapport aux threads ?
sobes.tech IA
Réponse de l'IA
Les goroutines en Go sont des threads légers gérés par le runtime de Go, et non par le système d'exploitation. Leurs avantages par rapport aux threads classiques :
- Moindre consommation de mémoire : Les goroutines occupent quelques kilooctets de mémoire, alors que les threads — des mégaoctets.
- Création et commutation rapides : Le lancement et le changement entre goroutines sont beaucoup plus rapides.
- Simplicité de synchronisation : Go fournit des canaux pour échanger des données en toute sécurité entre goroutines, ce qui simplifie la programmation concurrente.
- Scalabilité : Il est possible de lancer des milliers, voire des millions de goroutines simultanément.
Exemple de création d'une goroutine :
func sayHello() {
fmt.Println("Bonjour depuis la goroutine")
}
func main() {
go sayHello() // lancer la goroutine
time.Sleep(time.Second) // attendre pour que la goroutine ait le temps de s'exécuter
}