最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中使用多線程改進(jìn)flask案例

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

前言:

線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體.

與進(jìn)程的區(qū)別:

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

簡而言之,一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程.

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

1.線程和進(jìn)程關(guān)系?

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

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

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

下面來介紹具體的多線程改進(jìn)flask項(xiàng)目案例!!!

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.多進(jìn)程

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()

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

相關(guān)文章

  • 寶塔部署django項(xiàng)目的實(shí)現(xiàn)步驟(圖文教程)

    寶塔部署django項(xiàng)目的實(shí)現(xiàn)步驟(圖文教程)

    本文主要介紹了寶塔部署django項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python3操作redis實(shí)現(xiàn)List列表實(shí)例

    python3操作redis實(shí)現(xiàn)List列表實(shí)例

    本文主要介紹了python3操作redis實(shí)現(xiàn)List列表實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python使用jsonpath_ng的方法

    Python使用jsonpath_ng的方法

    json path_ng 是 Python 中一款解析和操作 JSON 數(shù)據(jù)的工具,它可以通過 JSONPath 語法來對 JSON 數(shù)據(jù)進(jìn)行定位和提取,其用法類似于 XPath 語法對 XML 數(shù)據(jù)進(jìn)行定位,這篇文章主要介紹了Python使用jsonpath_ng的方法,需要的朋友可以參考下
    2023-12-12
  • 分析Python中設(shè)計(jì)模式之Decorator裝飾器模式的要點(diǎn)

    分析Python中設(shè)計(jì)模式之Decorator裝飾器模式的要點(diǎn)

    這篇文章主要介紹了Python中設(shè)計(jì)模式之Decorator裝飾器模式模式,文中詳細(xì)地講解了裝飾對象的相關(guān)加鎖問題,需要的朋友可以參考下
    2016-03-03
  • Python中index()和seek()的用法(詳解)

    Python中index()和seek()的用法(詳解)

    下面小編就為大家?guī)硪黄狿ython中index()和seek()的用法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Python matplotlib實(shí)現(xiàn)散點(diǎn)圖的繪制

    Python matplotlib實(shí)現(xiàn)散點(diǎn)圖的繪制

    Matplotlib作為Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。本文將利用Matplotlib庫繪制散點(diǎn)圖,感興趣的可以了解一下
    2022-03-03
  • python實(shí)現(xiàn)簡單聊天功能

    python實(shí)現(xiàn)簡單聊天功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Python使用struct處理二進(jìn)制的實(shí)例詳解

    Python使用struct處理二進(jìn)制的實(shí)例詳解

    這篇文章主要介紹了Python使用struct處理二進(jìn)制的實(shí)例詳解的相關(guān)資料,希望通過本文大家能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • Python繪制餅圖、圓環(huán)圖的實(shí)例

    Python繪制餅圖、圓環(huán)圖的實(shí)例

    這篇文章主要介紹了Python繪制餅圖、圓環(huán)圖的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python使用eval函數(shù)解析和執(zhí)行字符串

    Python使用eval函數(shù)解析和執(zhí)行字符串

    在Python中,eval函數(shù)是一個(gè)非常強(qiáng)大的函數(shù),它可以將字符串作為代碼進(jìn)行解析和執(zhí)行,本文主要介紹了如何使用eval函數(shù)解析和執(zhí)行字符串,需要的可以了解下
    2024-01-01

最新評論

潼南县| 东丽区| 山丹县| 永济市| 阿拉善左旗| 奇台县| 璧山县| 南丰县| 阿图什市| 祥云县| 徐闻县| 荥阳市| 股票| 错那县| 宁阳县| 清原| 洛宁县| 灵武市| 汪清县| 云阳县| 香港| 贡觉县| 张北县| 边坝县| 读书| 耿马| 昭平县| 蒙自县| 沿河| 南靖县| 项城市| 泸州市| 吴桥县| 平原县| 仙游县| 南漳县| 德安县| 巩义市| 贵溪市| 高唐县| 黑山县|