欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中使用多線程改進flask案例

 更新時間:2022年03月04日 10:00:06   作者:kuokay  
這篇文章主要介紹了使用多線程改進flask案例,線程是指進程內的一個執(zhí)行單元,也是進程內的可調度實體.線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高,更多具體內容,需要的小伙伴可以參考下面文章相關資料,希望對你有所幫助

前言:

線程是指進程內的一個執(zhí)行單元,也是進程內的可調度實體.

與進程的區(qū)別:

  • (1) 地址空間:進程內的一個執(zhí)行單元;進程至少有一個線程;它們共享進程的地址空間;而進程有自己獨立的地址空間;
  • (2) 資源擁有:進程是資源分配和擁有的單位,同一個進程內的線程共享進程的資源
  • (3) 線程是處理器調度的基本單位,但進程不是.
  • (4) 二者均可并發(fā)執(zhí)行.

簡而言之,一個程序至少有一個進程,一個進程至少有一個線程.

線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。
另外,進程在執(zhí)行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。

1.線程和進程關系?

? 進程就是一個應用程序在處理機上的一次執(zhí)行過程,它是一個動態(tài)的概念,而線程是進程中的一部分,進程包含多個線程在運行。

? 多線程可以共享全局變量,多進程不能。多線程中,所有子線程的進程號相同;多進程中,不同的子進程進程號不同。

? 進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位.
? 線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.
? 一個線程可以創(chuàng)建和撤銷另一個線程;同一個進程中的多個線程之間可以并發(fā)執(zhí)行.

下面來介紹具體的多線程改進flask項目案例!!!

2.多線程

import flask
import json
import time
from concurrent.futures import ThreadPoolExecutor

app = flask.Flask(__name__)
pool = ThreadPoolExecutor()


def read_file():
? ? time.sleep(0.1)
? ? return "file result"


def read_db():
? ? time.sleep(0.2)
? ? return "db result"


def read_api():
? ? time.sleep(0.3)
? ? return "api result"


@app.route("/")
def index():
? ? result_file = pool.submit(read_file)
? ? result_db = pool.submit(read_db)
? ? result_api = pool.submit(read_api)

? ? return json.dumps({
? ? ? ? "result_file": result_file.result(),
? ? ? ? "result_db": result_db.result(),
? ? ? ? "result_api": result_api.result(),
? ? })


if __name__ == "__main__":
? ? app.run()

3.多進程

import flask
from concurrent.futures import ProcessPoolExecutor
import math
import json


app = flask.Flask(__name__)


def is_prime(n):
? ? if n < 2:
? ? ? ? return False
? ? if n == 2:
? ? ? ? return True
? ? if n % 2 == 0:
? ? ? ? return False
? ? sqrt_n = int(math.floor(math.sqrt(n)))
? ? for i in range(3, sqrt_n + 1, 2):
? ? ? ? if n % i == 0:
? ? ? ? ? ? return False
? ? return True


@app.route("/is_prime/<numbers>")
def api_is_prime(numbers):
? ? number_list = [int(x) for x in numbers.split(",")]
? ? results = process_pool.map(is_prime, number_list)
? ? return json.dumps(dict(zip(number_list, results)))


if __name__ == "__main__":
? ? process_pool = ProcessPoolExecutor()
? ? app.run()

到此這篇關于使用多線程改進flask案例的文章就介紹到這了,更多相關多線程改進flask內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Django中Aggregation聚合的基本使用方法

    Django中Aggregation聚合的基本使用方法

    這篇文章主要給大家介紹了關于Django中Aggregation聚合的基本使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • Python實現雙進程防止單點故障實例深度探究

    Python實現雙進程防止單點故障實例深度探究

    在分布式系統中,確保系統的高可用性是至關重要的,本文將深入探討如何使用Python實現雙進程自我保護機制,以應對單點故障,確保系統穩(wěn)定運行,將通過詳實的示例代碼,介紹雙進程自我保護的原理、實現步驟以及可能遇到的挑戰(zhàn)
    2024-01-01
  • Python數據結構之樹的全面解讀

    Python數據結構之樹的全面解讀

    數據結構中有很多樹的結構,其中包括二叉樹、二叉搜索樹、2-3樹、紅黑樹等等。本文中對數據結構中常見的樹邏輯結構和存儲結構進行了匯總,不求嚴格精準,但求簡單易懂
    2021-11-11
  • 在DOS界面如何運行python的py文件

    在DOS界面如何運行python的py文件

    這篇文章主要介紹了在DOS界面如何運行python的py文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python使用Keras庫中的LSTM模型生成新文本內容教程

    Python使用Keras庫中的LSTM模型生成新文本內容教程

    Python語言使用金庸小說文本庫,對文本進行預處理,然后使用Keras庫中的LSTM模型創(chuàng)建和訓練了模型,根據這個模型,我們可以生成新的文本,并探索小說的不同應用
    2024-01-01
  • Python3中的bytes類型和str類型

    Python3中的bytes類型和str類型

    這篇文章主要介紹了Python3中的bytes類型和str類型,bytes是一種比特流,他們之間的關系則是Python有個內置函數bytes()可以將字符串str類型轉換成bytes類型,下文更多詳細內容需要的小伙伴可以參考一下
    2022-05-05
  • 詳解python日期時間處理2

    詳解python日期時間處理2

    這篇文章主要為大家介紹了python日期時間處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python FFT合成波形的實例

    Python FFT合成波形的實例

    今天小編大家分享一篇Python FFT合成波形的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

    Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

    這篇文章主要為大家介紹了Python編程中使用matplotlib繪圖包來挑出完美的鉆石,本篇是seaborn包畫圖使用入門篇,有需要的朋友可以借鑒參考下
    2021-10-10
  • Python數據可視化詳解

    Python數據可視化詳解

    數據可視化是一種將龐雜抽象的數據轉化為直觀易懂的圖形的數據呈現技術,它能幫助我們快速把握數據的分布和規(guī)律,更加輕松地理解和探索信息,本文通過代碼圖片詳細介紹了Python數據可視化,感興趣的小伙伴可以參考閱讀
    2023-04-04

最新評論