在 for 中使用 go 关键字,为什么不会不停创建 goroutine?

27次阅读

共计 385 个字符,预计需要花费 1 分钟才能阅读完成。

// Accept accepts connections on the listener and serves requests
// for each incoming connection.
func (server *Server) Accept(lis net.Listener) {
	for {conn, err := lis.Accept()
		if err != nil {log.Println("rpc server: accept error:", err)
			return
		}
               // 这里有问题:这里会不会不停创建 goroutine?
		go server.ServeConn(conn)
	}
}

https://github.com/geektutu/7days-golang/blob/cf3644382101dc13e7fd92e8f5c66cabc51bcd3b/gee-rpc/day1-codec/server.go#L143

正文完
 0