Maison > développement back-end > Golang > le corps du texte

Comment déterminer le nombre d'éléments dans un canal tamponné ?

Patricia Arquette
Libérer: 2024-11-14 20:34:02
original
665 Les gens l'ont consulté

How to Determine the Number of Elements in a Buffered Channel?

Mesure du nombre d'éléments dans un canal tamponné

Question :

Comment le nombre de les éléments présents dans un canal tamponné soient déterminé ?

Réponse :

La fonction len peut être utilisée pour mesurer le nombre d'éléments dans un canal tamponné. D'après la documentation :

func len(v Type) int
Copier après la connexion

La fonction len renvoie la longueur de la valeur donnée, comme suit :

  • Array : Nombre d'éléments dans le tableau.
  • Tranche ou carte : Nombre d'éléments dans la tranche ou map.
  • Channel : Nombre d'éléments mis en file d'attente dans le tampon du canal.

Par exemple, considérons le code suivant :

package main

import "fmt"

func main() {
    send_ch := make(chan []byte, 100)
    for i := 0; i < 34; i++ {
        send_ch <- []byte("message")
    }
    fmt.Println(len(send_ch))
}
Copier après la connexion

Ce code affichera :

34
Copier après la connexion

Il est important de noter que la mesure peut ne pas être précise en raison de concurrence; une préemption pourrait se produire entre la mesure et l’action. Cependant, la fonction len fournit une approximation étroite du nombre d'éléments dans le canal.

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!

source:php.cn
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