假設(shè)服務(wù)器跑著這樣一段簡(jiǎn)單的flask代碼:app = Flask()
@app.route('/')
def index():
return render_temple('index.html')這時(shí)候服務(wù)器來(lái)了兩個(gè)訪問(wèn)請(qǐng)求,這兩個(gè)請(qǐng)求都被路由到@app.route('/').請(qǐng)問(wèn)flask是如何同時(shí)處理這兩個(gè)請(qǐng)求的 ? 如果我的代碼沒(méi)有實(shí)現(xiàn)任何并發(fā)功能,flask會(huì)自動(dòng)幫我處理并發(fā)請(qǐng)求嗎 ? 如果有Nginx這類HTTP服務(wù)器,情況又是怎樣?希望各位能指導(dǎo)下,給個(gè)解答或者指明下學(xué)習(xí)方向都行 ! 萬(wàn)分感謝 !
2 回答

瀟湘沐
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
這段程序只是一個(gè)APP服務(wù)的一個(gè)路由。你的APP服務(wù)又被用WSGI接入到HTTP服務(wù)器,就是你說(shuō)的nginx。這個(gè)問(wèn)題跟nginx無(wú)關(guān),因?yàn)檫@里它只是一個(gè)通道。跟Flask也無(wú)關(guān),因?yàn)樗皇秦?fù)責(zé)根據(jù)Request產(chǎn)生Response。有關(guān)的就是WSGI server。通常來(lái)講WSGI server是通過(guò)進(jìn)程(pre-fork)來(lái)并發(fā)的。這樣并發(fā)就取決與進(jìn)程數(shù)。如果WSGI server用了gevent, eventlet等 green thread技術(shù),就可以支持更多并發(fā)。
- 2 回答
- 0 關(guān)注
- 4210 瀏覽
添加回答
舉報(bào)
0/150
提交
取消