发布时间:2019-09-09 08:44:27编辑:auto阅读(2562)
网上看到个例子怎样利用 threading 模块实现异步执行,自己动手试了试,写了个装饰器的例子,很实用。
把 async 分离开,放到一个单独的模块中,就可以把它当成一个模块实用
分析一下,下面的例子:
定义了一个装饰器 async 和 A 、B 两个function
A 里面sleep 20s , 然后打印 a function 字符串
B 里面直接打印 b function 字符串
我们顺序调用两个功能:
A()
B( )
实际结果:
b function
20s…
a function
#coding:utf-8
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(20)
print "a function"
def B():
print "b function"
A()
B()
上一篇: Python中list的清空
下一篇: 用Python对MySQL同步状态进行监
53520
40348
34749
30504
25381
25179
23592
18860
15171
14679
1147°
1069°
1139°
1154°
1189°
1347°
1307°
1279°
1379°
1320°