在使用http库创建web服务器,下面这段代码,加协程处理 go proccess(w) 有什么不同。这样能提高并发吗,不加协程处理,是不是这个web服务,同时就只能处理一个请求呢?其他的框架,比如gin,他们的原理也是在这里加go协程处理提高并发吗?
import (
"log"
"net/http"
"io"
)
func proccess(w http.ResponseWriter) {
resp, err := http.Get("https://baidu.com/")
if err != nil {
log.Print(err)
}
defer resp.Body.Close()
for name, values := range resp.Header {
w.Header()[name] = values
}
io.Copy(w, resp.Body)
}
func Handler(w http.ResponseWriter, r *http.Request) {
proccess(w)
//go proccess(w) //这里加 go 协程处理就能提高我这个WEB服务并发吗
}
func main() {
http.HandleFunc("/", Handler)
log.Fatal(http.ListenAndServe(":8866", nil))
}