~玉米糊~
慢慢来,也会很快。 非宁静无以志学,学什么都一样,慢慢打基础,找规律、认真、坚持,其余的交给时间。
随笔 - 117,  文章 - 17,  评论 - 1,  阅读 - 82072

1. 请描述什么是协程,举例说明

协程,又称为微线程、纤程,英文名:Coroutine

通过async/await语法进行声明,是编写异步应用的推荐方式

1
2
3
4
5
6
7
8
import asyncio
 
async def main():
    print('hello')
    await asyncio.sleep(1)
    print('world')
 
asyncio.run(main())

  

 

2. 协程中有哪两个运行任务的函数,如何使用

1. run

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import asyncio
import time
 
async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)
 
async def myfun():
    print(f'开始时间:{time.strftime("%X")}')
    await say_after(1, 'hello')
    await say_after(2, 'world')
    print(f"执行完成:{time.strftime('%X')}")
 
asyncio.run(myfun())

  

开始时间:15:57:24
hello
world
执行完成:15:57:27

 

2. create_task

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import asyncio
import time
 
async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)
 
async def myfun1():
    task1 = asyncio.create_task(
        say_after(3, 'hello')
    )
    task2 = asyncio.create_task(
        say_after(2, 'world')
    )
 
    print(f'开始时间:{time.strftime("%X")}')
    await task1
    await task2
    print(f"执行完成:{time.strftime('%X')}")
 
asyncio.run(myfun1())

  

开始时间:16:03:19
world
hello
执行完成:16:03:22

 

总结:

协程,又称微线程。使用async修饰要运行的函数,在运行协程函数时,需要使用await。

 

posted on   yuminhu  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示