gpt4 book ai didi

go - golang http.Get请求按常规方式工作,但在go例程内部不工作

转载 作者:行者123 更新时间:2023-12-01 22:25:05 25 4
gpt4 key购买 nike

我有一些服务器正在处理GET请求。需要为此服务器创建高负载
简单的测试客户端:

func main(){
http.Get("http://localhost:8080/8")
}

工作正常,服务器显示他已收到请求

另一个测试:
func main(){
for i:=0; i<5; i++{
go func() {
http.Get("http://localhost:8080/8")
}()
}
}

甚至
func main(){
for i:=0; i<5; i++{
go http.Get("http://localhost:8080/8")
}
}

它不起作用,服务器未收到任何请求

那么,有什么问题呢?

最佳答案

我认为这是因为您的应用程序在循环结束后立即终止。

要解决这个问题,您可以使用WaitGroup。并更改您的代码,如下所示:

func main(){

wg := sync.Waitgroup{}

for i:=0; i<5; i++{
wg.Add(1)
go func() {
defer wg.Done()
http.Get("http://localhost:8080/8")
}()
}

wg.Wait()
}

关于go - golang http.Get请求按常规方式工作,但在go例程内部不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60464077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com