Coroutine est une implémentation de thread légère dans le langage Go et est gérée par le runtime Go. Ce qui suit est une introduction à la coroutine goroute dans le langage go de la colonne Tutoriel de démarrage Go.
goroute coroutine
Processus et threads
Les processus sont des ressources système Les bases unité d'allocation et de planification. Le thread est l'unité de base de la planification et de la répartition du processeur. Un processus peut créer et annuler plusieurs threads
Concurrence et parallélisme
Multi-threading A. le programme s'exécute sur un processeur avec un seul cœur, qui est la concurrence
Un programme multithread s'exécute sur un processeur avec plusieurs cœurs, qui est parallèle
coroutines et threads
Coroutine : espace de pile indépendant, mémoire de tas partagée, planification contrôlée par l'utilisateur, essentiellement similaire aux threads au niveau utilisateur, la planification de ces threads au niveau utilisateur est implémentée par eux-mêmes.
Thread : Un thread peut exécuter plusieurs coroutines.
Un cas de concurrence simple. Ces deux coroutines imprimeront hello et world
package main import( "fmt" "time" ) func test(){ for{ fmt.Println("hello") time.Sleep(time.Second) } } func main(){ go test() for{ fmt.Println("world") time.Sleep(time.Second) } }
Pour plus de connaissances sur le langage go, veuillez faire attention à la colonne tutoriel sur le langage go de la page. Site Web PHP chinois .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!