代码之家  ›  专栏  ›  技术社区  ›  rafaelcb21

HTTP中的goroutines[重复]

  •  -4
  • rafaelcb21  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我有一个关于HTTP中Goroutines的问题。

    下面的代码是一个简单的Web服务器。

    如果5个人访问服务器,2个人进入功能 handler1() 三个人进去 handler2() ,golang将创建5个goroutines,还是需要输入保留字? go ?

    例如 go http.HandleFunc("/h1", handler1)

    package main
    
    import( 
          "fmt"
          "log"
          "net/http"
     )
    
    func handler1(w http.ResponseWriter, r *http.Request) {
          fmt.Println(w, "Hello 01!")
    }
    
    func handler2(w http.ResponseWriter, r *http.Request) {
          fmt.Println(w, "Hello 02")
    }
    
    func main() {
          http.HandleFunc("/h1", handler1)
          http.HandleFunc("/h2", handler2)
          log.Fatal(http.ListenAndServe(":8080", nil))
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Adrian    6 年前

    不管你怎么开始 net/http 服务器,它最终调用 Serve 其中:

    serve接受侦听器l上的传入连接, 为每个用户创建新的服务类别 . 服务goroutine读取请求,然后调用srv.handler回复请求。