Этот простой 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. Вы видите, что я делаю неправильно?