Maison > Article > développement back-end > Comment interrompre gracieusement la goroutine d'acceptation d'un TCPListener dans 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!