为了账号安全,请及时绑定邮箱和手机立即绑定

golang http.Get 请求以通常的方式工作,但在 go 例程中不起作用

golang http.Get 请求以通常的方式工作,但在 go 例程中不起作用

Go
动漫人物 2022-05-18 15:53:37
我有一些服务器处理 GET 请求。需要为此服务器创建 highload 简单测试客户端: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")    }}它不起作用,服务器没有收到任何请求那么,有什么问题呢?
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

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


要处理此问题,您可以使用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()

}


查看完整回答
反对 回复 2022-05-18
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信