发布时间:2019-09-09 08:44:27编辑:auto阅读(2599)
网上看到个例子怎样利用 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同步状态进行监
53758
40588
35014
30738
25606
25378
23813
19296
15410
14909
1488°
1369°
1471°
1501°
1514°
1697°
1654°
1530°
1631°
1582°