
Python协程:异步编程的艺术
大约 1 分钟
Python协程:异步编程的艺术
在我五年的测试开发生涯中,特别是在智能体开发项目里,协程已经成为了我日常编程的重要工具。几乎每个函数都采用异步编程模式,这让我深刻体会到了协程的强大之处。
协程(Coroutine)可以说是Python异步编程的核心,它让我们能够编写出既高效又优雅的并发代码。今天,我想和大家分享一下我对协程的理解和实践经验。
Python中yield的用法?
yield就是保存当前程序执行状态。你用for循环的时候,每次取一个元素的时候就会计算一次。用yield 的函数叫generator,和iterator一样,它的好处是不用一次计算所有元素,而是用一次算一次,可以节 省很多空间,generator每次计算需要上一次计算结果,所以用yield,否则一return,上次计算结果就没 了
GIL锁 全局解释器锁
作用: 限制多线程同时执行,保证同一时间只有一个线程执行,所以cython里的多线程其实是伪多线 程! 所以python里常常使用协程技术来代替多线程,协程是一种更轻量级的线程。 进程和线程的切换时由系统决定,而协程由我们程序员自己决定,而模块gevent下切换是遇到了耗时操 作时才会切换 三者的关系:进程里有线程,线程里有协程。
