Python协程:基本概念、使用方法和示例

作者:很酷cat2024.01.17 20:00浏览量:7

简介:协程是一种轻量级的线程,可以用来实现并发执行。本文将介绍Python中的协程,包括基本概念、使用方法和示例代码。

Python中的协程是一种轻量级的线程,可以在不阻塞线程的情况下实现并发执行。与传统的线程相比,协程具有更小的开销,能够更有效地利用系统资源。
一、基本概念
协程(Coroutine)是一种特殊的函数,它可以被挂起并在稍后恢复执行。协程通过yield关键字实现挂起和恢复。在协程中,可以使用yield来暂停当前执行,并将控制权传递给调用者。当调用者再次调用协程时,程序将从上一次挂起的位置继续执行。
二、使用方法
在Python中,可以使用async/await关键字来定义协程。下面是一个简单的示例:

  1. async def my_coroutine():
  2. print('Coroutine started')
  3. await asyncio.sleep(1) # 挂起协程,等待1秒
  4. print('Coroutine resumed')

在上面的代码中,我们定义了一个名为my_coroutine的协程。在协程中,我们使用await关键字等待一个异步操作(这里是asyncio.sleep(1)),这会导致协程挂起并释放系统资源。当异步操作完成后,协程将继续执行并打印出“Coroutine resumed”。
要运行协程,需要使用事件循环(Event Loop)。在Python中,可以使用asyncio模块来创建事件循环。下面是一个简单的示例:
```python
import asyncio
async def main():
task = asyncio.create_task(my_coroutine()) # 创建协程任务
await task # 等待任务完成
asyncio.run(main()) # 运行事件循环和主函数