Python基础-协程

Posted hamusuta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础-协程相关的知识,希望对你有一定的参考价值。

协程

究竟什么是协程?

究竟协程有什么用?

1.涉及到同步锁。

2.涉及到线程阻塞状态和可运行状态之间的切换。

3.涉及到线程上下文的切换。

以上涉及到的任何一点,都是非常耗费性能的操作。

next()函数用来创建一个协程嗷
yield会暂停,当send()的时候才会继续

python中使用async await来使用协程

import asyncio


async def test():
    await asyncio.sleep(1)


async def main():
    task1 = asyncio.create_task(test())
    task2 = asyncio.create_task(test())
    await task1
    await task2

asyncio.run(main())
import asyncio


async def who(name):
    await asyncio.sleep(1)
    print(name)


async def main():
    await asyncio.gather(
        who('Bob'),
        who('Amy'),
        who('Mike'),
    )


asyncio.run(main())

await 和 async在什么时候使用?

待续。。。

以上是关于Python基础-协程的主要内容,如果未能解决你的问题,请参考以下文章

Python开发基础--- 进程间通信进程池协程

Python基础-协程

python基础学习日志day10-协程

Python基础15 - 协程异步IO

python语法基础-并发编程-协程-长期维护

python 异步编程