日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python如何實現異步調用函數執行

系統 1831 0

在實現異步調用之前我們先進行什么是同步調用和異步調用

  • 同步:是指完成事務的邏輯,先執行第一個事務,如果阻塞了,會一直等待,直到這個事務完成,再執行第二個事務,順序執行
  • 異步:是和同步相對的,異步是指在處理調用這個事務的之后,不會等待這個事務的處理結果,直接處理第二個事務去了,通過狀態、通知、回調來通知調用者處理結果

分析一下,下面的例子:

定義了一個裝飾器 async 和 A 、B 兩個function 函數

A 里面sleep 10s , 然后打印 a function 字符串

B 里面直接打印 b function 字符串

我們順序調用兩個功能:

A()

B( )

由于函數A在睡的狀態,我們又不希望程序被阻塞在函數A的睡的狀態,所以我們采用異步執行,即在函數A睡的狀態,讓其他的任務執行

            
from threading import Thread
from time import sleep


def async(f):
  def wrapper(*args, **kwargs):
    thr = Thread(target=f, args=args, kwargs=kwargs)
    thr.start()

  return wrapper


@async
def A():
  sleep(10)
  print("函數A睡了十秒鐘。。。。。。")
  print("a function")


def B():
  print("b function")


A()
B()
          

執行結果:

            
#b function
#函數A睡了十秒鐘。。。。。。
#a function
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 庆元县| 新丰县| 图木舒克市| 榆树市| 汉源县| 屏南县| 平远县| 晋州市| 黎城县| 台北市| 郴州市| 鄢陵县| 庆安县| 乌兰县| 青川县| 上杭县| 长汀县| 靖远县| 阳江市| 富民县| 江陵县| 巴中市| 四平市| 大庆市| 武宁县| 安龙县| 莫力| 阿城市| 大关县| 固原市| 循化| 房产| 含山县| 郑州市| 攀枝花市| 纳雍县| 宜黄县| 明水县| 岢岚县| 通辽市| 邢台县|