我有一些服务器处理 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()
}
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报
0/150
提交
取消