91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flask多線程模式的示例分析

發布時間:2020-11-25 13:48:33 來源:億速云 閱讀:276 作者:小新 欄目:編程語言

小編給大家分享一下flask多線程模式的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

flask是一個web框架

從客戶端發向服務器的請求和服務器處理請求是的線程之間是什么關系?

比如發起10個請求,那么flask開啟多少個線程來處理請求?

flask是不會開啟線程的,那么線程是誰來開啟的呢?

其實是由webserver,外部服務器開啟的,我們的flask框架或者寫的項目代碼,如果沒有外部服務器是無法運行的,如果要讓項目跑起來的話,必須要有一個webserver, 所以說,我們看到的flask中的app.run()就是啟動flask中自帶的內置的webserver,如果我們要把代碼部署到生產環境中去,真實的給用戶使用的話,一般的是不會使用flask自帶的webserver的,而是選擇另外的webserver部署flask的代碼。

默認的情況下,flask自帶的web服務器是以單進程單線程來響應我們的客戶端請求。大家很容易想到,10個請求進來是沒有辦法同事執行的,已給請求執行完之后才能執行另一個請求。當然,flask自帶的web服務器也可以開啟多線程或者多進程模式。可以在pycharm中看到。

from app import create_app

app = create_app()if __name__ == '__main__':    # print('id為' + str(id(app)) + '啟動')

    app.run(host='0.0.0.0', debug=True)  # 單進程單線程

    app.run(host='0.0.0.0', debug=True, threadad=True)  # 單進程多線程,進程默認為1

    app.run(host='0.0.0.0', debug=True, threadad=True, processes=2)  # 多進程多線程,進程processes默認為1

對于一個網站而言,必須要有一定的承受并發的能力,request只是一個變量名,真正的實例對象是Request()。同一時刻會有多個請求,而每一個請求的請求信息極有可能是不同的。這就會造成我們實際發送過來的請求信息是不相同的。那么用一個變量request怎么代表不同用戶的請求信息呢?

flask多線程模式的示例分析

由于單線程是順序執行的,只有處理完一個請求才能處理另一個請求,對于單線程來說,請求就像排隊一樣,請求進來之后,flask會實例化一個Request對象,然后用request來裝載我們的請求信息,這個時候我們只有一個實例化的Request,所以啊,用request變量名是可以拿到我們要的請求信息的,所以request變量名總是會指向當前的請求,request就不會出現混亂。

多線程的請求,(對象是保存狀態的地方)

flask多線程模式的示例分析

怎么解決呢?

request1 = Request()

request2 = Request()

request3 = Request()

但是我們并不知道到底有多少個請求會發生,那么有沒有一種用一個變量來表示的所有的請求信息呢,有,是字典.線程里有什么可以唯一確定一個線程呢,那就是線程的id號,可以作為key,在flask中就是采用的這種原理來解決的,這種用不同id號作為鍵,其實就是線程隔離,線程隔離只是一種思想,并不一定都是用字典實現,還可以用其他的方式實現。

以上是“flask多線程模式的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

徐州市| 永嘉县| 柳州市| 定边县| 屯留县| 芷江| 麟游县| 彭阳县| 婺源县| 梁河县| 高台县| 兴文县| 兖州市| 广宁县| 西畴县| 定南县| 容城县| 祥云县| 临安市| 苗栗市| 平原县| 红桥区| 宁海县| 白玉县| 历史| 崇礼县| 翼城县| 福海县| 丹寨县| 北京市| 阳曲县| 台山市| 泸溪县| 鸡泽县| 北碚区| 绥阳县| 教育| 林口县| 清水河县| 耿马| 深泽县|