实现功能
协程是一种轻量级的线程,可以在代码中定义异步任务,并在需要时挂起和恢复执行。Python提供了asyncio库来支持协程异步编程。使用async def + await的方式定义协程。
async 用来声明一个函数为异步函数,异步函数的特点是能在函数执行过程中挂起,去执行其他异步函数,等到挂起条件消失后,再回来执行。
await 用来用来声明程序挂起,比如异步程序执行到某一步时需要等待的时间很长,就将此挂起,去执行其他的异步程序。await 后面只能跟异步程序或有__await__属性的对象,因为异步程序与一般程序不同。
实现代码
import asyncio
async def async_task():
print("Async task started")
await asyncio.sleep(1) # 模拟耗时操作
print("Async task completed")
async def main():
print("Main task started")
await asyncio.gather(async_task(), async_task(), async_task())
# asyncio.gather()是asyncio库中的一个函数,用于并发地运行多个协程任务,并等待它们全部完成。
print("Main task completed")
asyncio.run(main())
实现效果
本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据挖掘相关科研工作,对数据挖掘有一定认知和理解,会结合自身科研实践经历不定期分享关于python、机器学习、深度学习基础知识与案例。
致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。
邀请三个朋友关注V订阅号:数据杂坛,即可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。