📜  等待函数python(1)

📅  最后修改于: 2023-12-03 15:11:32.016000             🧑  作者: Mango

等待函数Python介绍

等待函数是Python中一种异步编程的技术,可以在代码执行时暂时挂起某个任务,等待异步操作完成后再继续执行。等待函数可以提升代码执行效率,特别适合与I/O密集型任务。

asyncio库

Python标准库中的asyncio模块提供了支持异步编程的接口,其中包含了常用的等待函数。以下是几个常见的等待函数:

asyncio.sleep

asyncio.sleep是Python中最基本的等待函数之一。它可以让程序等待指定的时间后再继续执行。以下是使用asyncio.sleep等待1秒后输出"hello world"的例子:

import asyncio

async def greet():
    print("Waiting 1 second...")
    await asyncio.sleep(1)
    print("Hello world!")

asyncio.run(greet())

输出:

Waiting 1 second...
Hello world!
asyncio.wait

asyncio.wait可以等待多个协程,直到其中任意一个协程完成时才会返回。以下是一个简单的例子:

import asyncio

async def foo():
    await asyncio.sleep(2)
    return "foo"

async def bar():
    await asyncio.sleep(1)
    return "bar"

async def main():
    done, pending = await asyncio.wait([foo(), bar()])
    for task in done:
        print(task.result())

asyncio.run(main())

输出:

bar
foo
asyncio.gather

asyncio.gather可以并发多个协程,并等待它们全部完成后返回结果。以下是一个简单的例子:

import asyncio

async def foo():
    await asyncio.sleep(2)
    return "foo"

async def bar():
    await asyncio.sleep(1)
    return "bar"

async def main():
    results = await asyncio.gather(foo(), bar())
    print(results)

asyncio.run(main())

输出:

['foo', 'bar']
结语

以上是等待函数Python的介绍,希望本篇文章对你有所帮助。等待函数是Python异步编程中一个重要的概念,掌握了它可以让你写出更加高效、优雅的异步代码。