Pointeurs et variables dans la référence des WaitGroups
Dans le package de synchronisation, les fonctions Add, Done et Wait sont toutes appelées par un pointeur vers un WaitGroup :
- Ajouter incrémente le nombre d'attente du delta donné.
- Terminé décrémente l'attente count.
- Attendre les blocs jusqu'à ce que le nombre d'attente soit nul.
Dans l'extrait de code fourni, la fonction Done est appelée à l'aide d'une variable de pointeur, tandis que les fonctions Add et Wait sont appelées en utilisant une variable (pas un pointeur).
Cependant, les trois fonctions sont appelées sur la même valeur WaitGroup value.
- La variable wg est déclarée comme valeur de sync.WaitGroup, mais l'Add Les méthodes , Done et Wait sont appelées sur l'adresse de wg (wg) à l'aide de l'opérateur de déréférencement ().
- Cela signifie que les trois fonctions fonctionnent sur la même valeur WaitGroup sous-jacente.
- La seule différence est que Done est appelé à l'adresse de wg pour garantir que le La valeur correcte de WaitGroup est en cours de modification.
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: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