Maison > développement back-end > Golang > Comment interrompre gracieusement la goroutine d'acceptation d'un TCPListener dans Go ?

Comment interrompre gracieusement la goroutine d'acceptation d'un TCPListener dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-01 14:20:02
original
200 Les gens l'ont consulté

How to Gracefully Interrupt a TCPListener's Accept Goroutine in Go?

Interruption de la goroutine d'acceptation de TCPListener

Dans Go, les serveurs gérant les connexions TCP créent une goroutine pour écouter les connexions entrantes à l'aide de (*TCPListener). Acceptez la méthode. Lorsque le serveur doit être arrêté proprement, cette goroutine doit être interrompue.

Méthode d'interruption

La façon d'interrompre la (*TCPListener).Accept goroutine est de fermez simplement le net.Listener obtenu à partir de net.Listen(...). Cela entraînera le renvoi d'une erreur par l'appel Accept, permettant à la goroutine de se terminer normalement.

Une fois net.Listener fermé, la goroutine Accept devrait revenir de son exécution. En effet, la documentation d'Accept indique qu'il "attend le prochain appel et renvoie un Conn générique". Lorsque net.Listener est fermé, il n'y aura plus de connexions à accepter, donc la goroutine Accept se fermera.

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