Maison > développement back-end > tutoriel php > [Go Learning] Sémaphore de comptage de groupes d'attente de contrôle d'accès concurrentiel

[Go Learning] Sémaphore de comptage de groupes d'attente de contrôle d'accès concurrentiel

little bottle
Libérer: 2023-04-06 07:00:02
avant
3484 Les gens l'ont consulté

L'éditeur de cet article vous fera apprendre le sémaphore de comptage WaitGroup dans le contrôle de concurrence dans le langage go, et joindra le code du cas d'utilisation, qui a une certaine valeur de référence. Les amis intéressés peuvent venir l'apprendre !

WaitGroup est un sémaphore de comptage qui peut être utilisé pour enregistrer et maintenir la goroutine en cours d'exécution. Si la valeur de WaitGroup est supérieure à 0, la méthode Wait bloquera

Appelez la méthode Done pour réduire la valeur. valeur de WaitGroup. Et enfin libérer la fonction principale


package main
import(
        "fmt"
        "runtime"
        "sync"
)
func main(){
        //只分配一个逻辑处理器给调度器使用
        runtime.GOMAXPROCS(1)
        //wg用来使main goroutine等待子goroutine结束
        var wg sync.WaitGroup
        //等待两个子goroutine结束
        wg.Add(2)
        fmt.Println("开启goroutine")
        go func(){
                defer wg.Done()
                //循环显示三遍字母表
                for count:=0;count<3;count++{
                        //循环显示字母表
                        for char:=&#39;a&#39;;char<&#39;a&#39;+26;char++{
                                fmt.Printf("%c ",char)
                        }   
                }   
        }() 
        go func(){
                defer wg.Done()
                //循环显示三遍字母表
                for count:=0;count<3;count++{
                        //循环显示字母表
                        for char:=&#39;A&#39;;char<&#39;A&#39;+26;char++{
                                fmt.Printf("%c ",char)
                        }   
                }   
        }() 
        //main goroutine等待子goroutine结束
        wg.Wait()
        fmt.Println("\ngoroutine结束")
}
Copier après la connexion

Si vous souhaitez en savoir plus sur les tutoriels du langage go, allez suivre les tutoriels vidéo go sur le site 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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal