Looking for go Keywords? Try Ask4Keywords

GoConcurrence


Introduction

Dans Go, la simultanéité est obtenue grâce à l'utilisation de goroutines, et la communication entre les goroutines se fait généralement avec des canaux. Cependant, d'autres moyens de synchronisation, tels que les mutex et les groupes d'attente, sont disponibles et doivent être utilisés chaque fois qu'ils sont plus pratiques que les canaux.

Syntaxe

  • aller doWork () // exécuter la fonction doWork en tant que goroutine
  • ch: = make (chan int) // déclare le nouveau canal de type int
  • ch <- 1 // envoi sur un canal
  • value = <-ch // recevoir d'un canal

Remarques

Goroutines in Go sont similaires aux threads dans d'autres langues en termes d'utilisation. En interne, Go crée un certain nombre de threads (spécifiés par GOMAXPROCS ), puis planifie l'exécution des goroutines sur les threads. En raison de cette conception, les mécanismes de concurrence de Go sont beaucoup plus efficaces que les threads en termes d'utilisation de la mémoire et de temps d'initialisation.

Concurrence Exemples Liés