Cette simple serveur HTTP qui contient un appel à la fois.Sleep() qui rend chaque demande de prendre cinq secondes. Quand j'ai essayer rapidement le chargement de plusieurs les onglets d'un navigateur, il est évident que chaque demande est mis en file d'attente et traitées de manière séquentielle. Comment puis-je faire gérer les demandes simultanées?
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)
}
En fait, je viens de trouver la réponse à cette après la rédaction de la question, et il est très subtil. Je vous poste quand même, parce que je n'arrivais pas à trouver la réponse sur Google. Pouvez-vous voir ce que je fais de mal?