HTTP2 클라이언트를 명시 적으로 릴리스해야합니까? 클라이언트가 도달 할 수 없게되면 Go의 Go는 이에 할당 된 메모리를 자동으로 되 찾습니다.
http.client의 연결 관리
http.client는 내부적으로 관리되는 연결 풀에서 작동합니다. 그렇기 때문에 필요에 따라 여러 인스턴스를 생성하기보다는 재사용되도록 설계되었습니다. 따라서 명시 적 리소스 릴리스는 필요하지 않습니다.
규칙에 대한 예외
resp, err := http.Get("http://example.com/") if err != nil { // Handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) // ...
는 명시적인 릴리스가 필요하지 않지만 *http.response 객체는 적절한 정리가 필요한 리소스를 생성하는 것이 중요합니다. 구체적으로, 모든 http 작업을 완료하면 response.body.close ()를 호출해야합니다 (예 : get (), post ()). err! = nil {인 경우 // 오류를 처리합니다 } 연기 resp.body.close () body, err : = iout.readall (resp.body) // ...
요약
http.client는 재사용 및 자동 리소스 관리를 위해 설계되었습니다. 적절한 리소스 처리의 경우 추가 단계는 해당 *http.response 객체를 사용한 후 응답을 닫는 것입니다. 이 관행을 준수함으로써 GO에서 HTTP2 연결 작업을 수행 할 때 최적의 성능 및 리소스 효율성을 보장 할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3