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

這篇文章主要介紹了python如何實現異步調用函數執行,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋在
實現異步調用之前我們先進行什麼是同步調用和異步調用

同步:是指完成事務的邏輯,先執行第一個事務,如果阻塞了,會一直等待,直到這個事務完成,再執行第二個事務,順序執行
異步:是和同步相對的,異步是指在處理調用這個事務的之後,不會等待這個事務的處理結果,直接處理第二個事務去了,通過狀態、通知、回調來通知調用者處理結果
分析一下,下面的例子:
定義了一個裝飾器 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

推薦我們的python學習基地,點擊進入,看老程序是如何學習的!從基礎的python腳本、爬蟲、django、數據挖掘等編程技術,工作經驗,還有前輩精心爲學習python的小夥伴整理零基礎到項目實戰的資料,!每天都有程序員定時講解Python技術,分享一些學習的方法和需要留意的小細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章