异步可以简单的理解为在一个任务执行完毕之后马上的就去执行另外一个任务 , 而很多小伙伴到目前为止应该还只接触过顺序执行的同步任务 。那么下面这篇文章会以实际的异步执行函数来给大家讲解 , python是如何来实现异步函数的 , 感兴趣的话就和小编往下看看吧 。
文章插图
1.既然异步执行是通过函数来完成的 , 那么要在执行完函数之后就去调用另一个函数来完成任务 , 需要使用到多线程模块thread 。同时还需要用到time模块中的sleep()方法 , 该方法的作用就是让程序休眠一段时间 , 代码如下:
from threading import Threadfrom time import sleep2.模块导入之后还需要去创建一个异步函数并且设置它的参数为函数 , 因为该函数的作用就是作为其他函数的装饰器 , 这个就是异步执行函数 , 示例如下:
def async_call(fn): def wrapper(*args, **kwargs): Thread(target=fn, args=args, kwargs=kwargs).start() return wrapper从上面代码中就可以看出来将使用了这个装饰器的函数会自动调用wrapper , 然后用启动多线程来执行这个函数 。
3.那么接下来就需要使用两个函数来测试一下异步执行函数是否生效了 , 代码如下所示:
@async_calldef A(): print("执行A函数") sleep(10) print("A函数完毕")def B(): print("执行B函数")if __name__ == "__main__": A()B()# 运行结果执行A函数执行B函数A函数执行完毕从上面的代码示例中就可以看出函数A是先执行的 , 但是在该函数执行的过程之中函数B却没有按照顺序而是先执行了 。这是因为虽然函数A被睡眠了10秒钟 , 但是它又是多线程调用的 , 所以函数B就不用等待它执行完成就使用空闲的线程先执行 , 这个就是异步执行 。
【Python异步执行函数怎么写?Python如何实现异步函数】以上就是关于“Python异步执行函数怎么写?Python如何实现异步函数”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- Python中requests设置代理ip如何实现?Python怎么用代理ip使用爬虫
- Python数组怎么拼接?Python拼接数组用什么方法
- Python数组生成用什么方法?Numpy库哪些方法可以创建数组
- Python列表中常用的函数有哪些?Python列表常用函数使用详解
- 神奇鸡蛋减肥食谱怎么执行
- 一周减肥食谱怎么执行
- 酒的执行标准
- 如何离线安装Python中的requests库?离线安装Python中requests库的方法
- win10怎么安装python?win10安装python的操作步骤
- Python保存图片都用什么方法?Python哪些库和方法可以保存图片