управление http2 соединениями в Go: выпуск ресурсов http.client
при работе с http2 соединениями, http.client является решающим инструментом. Однако может возникнуть путаница в отношении того, как выпустить клиента и любые ресурсы, которые он потребляет. Когда клиент становится недоступным, сборщик мусора в автоматически возвращает любую память, выделенную ему. Вот почему он предназначен для повторного использования, а не создавать несколько экземпляров по мере необходимости. Таким образом, явный выпуск ресурса не является необходимым.
исключения из правила
, в то время как сам http.client не нуждается в явном выпуске, важно отметить, что объекты *http.response, которые он создает, не требует ресурсов, которые требуют надлежащего чистоты. В частности, вы должны вызвать ответ. Body.close () после завершения всех операций HTTP (например, get (), post ()).
пример:
resp, err: = http.get ("http://example.com/") Если ошибка! = nil { // Ошибка обработки } defer resp.body.close () тело, err: = ioutil.readall (resp.body) // ...
summary
http.client в go предназначено для повторного использования и автоматического управления ресурсами. Для правильной обработки ресурсов единственным дополнительным шагом является закрытие ответа. Кад после использования соответствующего объекта *http.response. Придерживаясь этой практики, вы можете обеспечить оптимальную производительность и эффективность ресурсов при работе с HTTP2 подключениями в Go.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3