Middle+
Pourquoi avoir inventé les goroutines alors qu'il existe déjà des threads du système d'exploitation?
sobes.tech IA
Réponse de l'IA
Les goroutines en Go ont été conçues pour faciliter et rendre plus efficace le travail avec la concurrence par rapport aux threads du système d'exploitation. Les principaux avantages des goroutines :
- Légèreté : Les goroutines utilisent beaucoup moins de mémoire que les threads du système d'exploitation, et peuvent être créées par milliers, voire des millions, sans consommation significative de ressources.
- Planificateur au niveau du langage : Go possède un planificateur intégré qui répartit efficacement les goroutines entre les threads du système d'exploitation, optimisant l'utilisation du CPU.
- Simplicité de syntaxe : Lancer une goroutine consiste simplement à ajouter le mot-clé
goavant l'appel d'une fonction.
Exemple de création d'une goroutine :
func sayHello() {
fmt.Println("Bonjour depuis la goroutine")
}
func main() {
go sayHello() // lance la fonction dans une goroutine
time.Sleep(time.Second) // donne du temps à la goroutine pour s'exécuter
}
Ainsi, les goroutines permettent d'écrire du code concurrent plus simplement et efficacement que de gérer directement les threads du système d'exploitation.