Maison > Article > développement back-end > Comment interrompre gracieusement l'exécution d'une goroutine (*TCPListener).Accept() ?
Interruption d'une exécution de Goroutine (*TCPListener) Accepter
Lors de la création d'un serveur qui répond aux clients via une connexion TCP, une go-routine est souvent utilisé pour gérer les connexions entrantes à l'aide de (*TCPListener).Accept(). La question se pose de savoir comment arrêter proprement le serveur et interrompre la goroutine bloquée lors de cet appel.
La documentation de (*TCPListener).Accept() indique qu'il attend la prochaine connexion et renvoie un générique Connecticut. Cependant, il fournit des informations limitées sur la façon d'interrompre cette opération de blocage.
La solution réside dans l'utilisation de (TCPListener).Close(), qui ferme l'écouteur et provoque l'exécution de la goroutine (TCPListener).Accept() pour revenir. Cela permet au serveur d'être arrêté en douceur et d'interrompre la routine de démarrage. La routine go devrait alors revenir de l'appel et permettre au serveur de se terminer proprement.
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!