欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 实现异步执行

程序员文章站 2024-01-28 11:47:16
...

python 实现异步执行

网上看到个例子怎样利用 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()

上一篇: php date函数

下一篇: php date函数