Maison  >  Article  >  développement back-end  >  goroute coroutine en langage go

goroute coroutine en langage go

尚
avant
2020-02-29 16:53:313455parcourir

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 en langage 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer