发布时间:2019-09-09 08:44:27编辑:auto阅读(2758)
网上看到个例子怎样利用 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同步状态进行监
54810
41600
36179
31631
26535
26238
24763
20347
16302
15728
2807°
2569°
2655°
2801°
2747°
2976°
2881°
2725°
2727°
2701°