第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么這個(gè) go HTTP 服務(wù)器不在 Chrome 47 中為每個(gè)請(qǐng)求生成一個(gè)

為什么這個(gè) go HTTP 服務(wù)器不在 Chrome 47 中為每個(gè)請(qǐng)求生成一個(gè)

Go
猛跑小豬 2021-11-29 16:50:34
以前的標(biāo)題:如何為每個(gè) HTTP 請(qǐng)求生成 goroutine?下面的代碼是一個(gè)簡單的 HTTP 服務(wù)器,它將路徑回顯給請(qǐng)求者。我用它來測試包的ListenAndServe方法是否net/http默認(rèn)觸發(fā)一個(gè) goroutine 來處理每個(gè)請(qǐng)求;我發(fā)現(xiàn)它沒有。如果我同時(shí)發(fā)出三個(gè)請(qǐng)求,第一個(gè)需要 10 秒返回,第二個(gè)需要 20(第一個(gè)返回后 10 秒),第三個(gè)需要 30 秒。package mainimport (  "fmt"  "net/http"  "time")func handler(w http.ResponseWriter, r *http.Request) {  time.Sleep(10000 * time.Millisecond)  fmt.Fprint(w, r.URL.Path)}func main() {  http.HandleFunc("/", handler)  http.ListenAndServe(":8080", nil)}基本上我想要的是主 goroutine 來監(jiān)聽 HTTP 連接,然后將請(qǐng)求的讀取和響應(yīng)傳遞給另一個(gè) goroutine 中產(chǎn)生的處理程序。有人可以為我指出實(shí)現(xiàn)這一目標(biāo)的正確方向嗎?最好net/http在 go 中使用包。更新 12/21/15 08:46 AM MST我進(jìn)行了與您使用 Web 瀏覽器 (chrome 47) 所做的完全相同的測試,在 localhost:8080 的根目錄下進(jìn)行了五個(gè)請(qǐng)求,結(jié)果大致如下:1st: 10 seconds2nd: 20 seconds3rd: 30 seconds4th: 36 seconds     5th: 38 seconds因此,希望那些否則會(huì)否決我的問題的人會(huì)理解我的困惑以及我為什么做出這樣的假設(shè)。我不知道為什么我得到了我在第 4 次和第 5 次請(qǐng)求中所做的結(jié)果。我使用 curl 運(yùn)行了相同的測試,結(jié)果與@tomasz 相同。我正在使用go1.2.1.
查看完整描述

1 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

一切都很好,您的處理程序針對(duì)每個(gè)請(qǐng)求在單獨(dú)的例程中運(yùn)行??匆幌耯ttp.Server.Serve方法的源代碼。接受循環(huán)的最后一行說:


go c.serve()

問題可能出在您的測試上。如果您通過瀏覽器中的多個(gè)選項(xiàng)卡檢查行為,則匹配 URL 的請(qǐng)求可能會(huì)排隊(duì),而不是同時(shí)運(yùn)行(即您的客戶端沒有使用“例程”,而不是服務(wù)器)。


嘗試兩種不同的瀏覽器,或者只使用命令行,比如curl并行測試請(qǐng)求。例如(在 bash 的幫助下):


$ for i in {1..5}; do time curl localhost:8080 &; done

# after ignoring some mess...

curl localhost:8080  0.00s user 0.00s system 0% cpu 10.013 total

curl localhost:8080  0.00s user 0.00s system 0% cpu 10.014 total

curl localhost:8080  0.00s user 0.00s system 0% cpu 10.012 total

curl localhost:8080  0.00s user 0.00s system 0% cpu 10.019 total

你的服務(wù)器就像一個(gè)魅力。


更新


我可以在 Chrome 47 上確認(rèn)這種行為,但也注意到你可以打開多個(gè)標(biāo)簽,比如http://localhost:8080/test1,http://localhost:8080/test2等等,你會(huì)得到預(yù)期的結(jié)果。這表明 Chrome 中確實(shí)有一些用于匹配 URL 的排隊(duì)機(jī)制。


查看完整回答
反對(duì) 回復(fù) 2021-11-29
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)