假设我的程序中有一个全局网络/http 客户端。在这个程序中,我有几个戈鲁丁向同一个全球客户提出请求。例如
戈朗伪代码:
package main
func editTransportAndFetch(c *http.Client) {
c.Transport = &http.Transport{
// Make some unique change here
}
c.Get("https://www.google.com")
}
func main() {
client := http.Client
// Spawns 10 processes
for i := 0; i < 10; i++ {
go editTransportAndFetch(client)
}
}
在这个伪代码示例中,我演示了生成 http 的 10 个进程。正在编辑传输。在本例中,正在进行相同的精确更改,因此干扰可能不是一个大问题。但是,无论如何,如果这些进程同时发生,则更新全局客户端传输的一个进程是否会干扰其他进程可能正在使用的传输?
我的最终用例是,我希望有一个全球客户端,并且能够指定自定义 DialTLSContext,但仅适用于某些请求。我不希望使用 DialTLS 上下文的请求也可能同时运行。我担心如果我编辑网址。传输一个请求的客户端,它可能会干扰并导致另一个请求也使用 DialTLSContext,即使我不希望它这样做。
千万里不及你
慕标琳琳
慕容3067478
随时随地看视频慕课网APP
相关分类