python 实现异步执行

来源:互联网 发布:农村淘宝收费标准 编辑:程序博客网 时间:2024/06/05 11:36

python 实现异步执行

网上看到个例子怎样利用 threading 模块实现异步执行,自己动手试了试,写了个装饰器的例子,很实用。
把 async 分离开,放到一个单独的模块中,就可以把它当成一个模块实用

分析一下,下面的例子:
定义了一个装饰器 async 和 A 、B 两个function
A 里面sleep 20s , 然后打印 a function 字符串
B 里面直接打印 b function 字符串
我们顺序调用两个功能:
A()
B( )
实际结果:
b function
20s…
a function

#coding:utf-8from threading import Threadfrom time import sleepdef async(f):    def wrapper(*args, **kwargs):        thr = Thread(target = f, args = args, kwargs = kwargs)        thr.start()    return wrapper@asyncdef A():    sleep(20)    print "a function"def B():    print "b function"A()B()
原创粉丝点击