고루틴 실행 중단(*TCPListener) 수락
TCP 연결을 통해 클라이언트에 응답하는 서버를 생성할 때 go-routine은 (*TCPListener).Accept()를 사용하여 들어오는 연결을 처리하는 데 자주 사용됩니다. 서버를 완전히 종료하고 이 호출에서 차단된 고루틴을 중단하는 방법에 대한 의문이 생깁니다.
(*TCPListener).Accept()에 대한 문서에는 다음 연결을 기다리고 일반 반환을 반환한다고 명시되어 있습니다. Conn. 그러나 이 차단 작업을 중단하는 방법에 대한 제한된 정보를 제공합니다.
해결책은 (TCPListener).Close()를 사용하는 것입니다. 이 방법은 리스너를 닫고 고루틴을 실행하게 합니다(TCPListener).Accept()를 반환합니다. 이를 통해 서버가 정상적으로 종료되고 이동 루틴이 중단될 수 있습니다. 그러면 go-routine이 호출에서 돌아와서 서버가 깔끔하게 종료되도록 해야 합니다.
위 내용은 고루틴 실행(*TCPListener).Accept()를 정상적으로 중단하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!