この単純なHTTPサーバーには、各リクエストに5秒かかる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)
}
実は、質問を書いた後、答えを見つけたばかりで、とても微妙です。グーグルで答えが見つからなかったので、とにかく投稿しています。私が間違っていることがわかりますか?