在實現異步調用以前咱們先進行什麼是同步調用和異步調用app
分析一下,下面的例子:
定義了一個裝飾器 async 和 A 、B 兩個function 函數
A 裏面sleep 10s , 而後打印 a function 字符串
B 裏面直接打印 b function 字符串
咱們順序調用兩個功能:
A()
B( ) 異步
因爲函數A在睡的狀態,咱們又不但願程序被阻塞在函數A的睡的狀態,因此咱們採用異步執行,即在函數A睡的狀態,讓其餘的任務執行async
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