码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础-协程(一)

时间:2020-03-06 23:42:08      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:使用   red   send   asyncio   end   ike   def   col   pre   

协程

究竟什么是协程?

究竟协程有什么用?

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基础-协程(一)

标签:使用   red   send   asyncio   end   ike   def   col   pre   

原文地址:https://www.cnblogs.com/hamusuta/p/12431488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!