在并发应用程序中使用HTTP客户端的最佳方法

时间:2016-04-21 15:16:40

标签: http go concurrency goroutine

首先,我将描述我的情况。 我必须从我的应用程序对多个API执行HTTPS请求,它们应该同时运行。 我想知道我是否应该每个goroutine使用一个单独的HTTP客户端,或者我可以在所有goroutine中共享一个客户端。当然我想享受HTTP客户端提供的连接重用/池化,但是我担心它是线程(也就是goroutine)-safe,如果客户端会同时运行请求,或者它们实际上会被排序?< / p>

1 个答案:

答案 0 :(得分:21)

根据文档(https://golang.org/src/net/http/client.go):

,Http客户端是线程安全的
  

多个goroutine可以安全地同时使用客户端。