1 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
在代碼中,您從文件中讀取 URL,然后并行觸發(fā)所有這些 URL 的請(qǐng)求,然后等待所有并行請(qǐng)求完成。
所以這實(shí)際上是有道理的,并不表明存在問題:
如果我將 http.Client 超時(shí)更改為 2 秒,它將在 2 秒內(nèi)完成,如果是 50 秒,它將等到 50 秒,輸入文件是否包含 10 個(gè) url 或 500 個(gè) url 并不重要。
假設(shè)您的文件有 500 個(gè) URL。
您并行觸發(fā) 500 個(gè)請(qǐng)求...然后等待所有請(qǐng)求完成(請(qǐng)記住,它們都是并行執(zhí)行的)。那需要多長(zhǎng)時(shí)間?
在最壞的情況下(所有請(qǐng)求都在 50 秒超時(shí)),總共只需要 50 秒(因?yàn)樗鼈兌荚诓⑿械却@ 50 秒)。
在最好的情況下(所有請(qǐng)求都成功通過且沒有超時(shí)),應(yīng)該需要幾秒鐘。
在一般情況下,您可能會(huì)看到(在 50 秒處出現(xiàn)幾次超時(shí)),然后需要 50 秒(在最壞的情況下,您將等待這幾個(gè)請(qǐng)求并行等待這 50 秒)。
- 1 回答
- 0 關(guān)注
- 145 瀏覽
添加回答
舉報(bào)