首先,我将描述我的情况。 我必须从我的应用程序对多个API执行HTTPS请求,它们应该同时运行。 我想知道我是否应该每个goroutine使用一个单独的HTTP客户端,或者我可以在所有goroutine中共享一个客户端。当然我想享受HTTP客户端提供的连接重用/池化,但是我担心它是线程(也就是goroutine)-safe,如果客户端会同时运行请求,或者它们实际上会被排序?< / p>
答案 0 :(得分:21)
根据文档(https://golang.org/src/net/http/client.go):
,Http客户端是线程安全的多个goroutine可以安全地同时使用客户端。