这个简单的HTTP服务器包含对time.Sleep()的调用,该请求使每个请求花费五秒钟。当我尝试在浏览器中快速加载多个选项卡时,很明显每个请求都按顺序排队和处理。如何使其处理并发请求?


package main


import (

   "fmt"

   "net/http"

   "time"

)


func serve(w http.ResponseWriter, r *http.Request) {

   fmt.Fprintln(w, "Hello, world.")

   time.Sleep(5 * time.Second)

}


func main() {

   http.HandleFunc("/", serve)

   http.ListenAndServe(":1234", nil) 

}

实际上,我在写完问题后才找到答案,这很微妙。无论如何,我都在发布它,因为我无法在Google上找到答案。你能看出我做错了吗?