-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_async_await_coroutine.py
81 lines (74 loc) · 1.07 KB
/
test_async_await_coroutine.py
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#https://ideone.com/Cgi5aP
#https://zhuanlan.zhihu.com/p/104918655
#-*- coding:utf8 -*-
import asyncio
async def test(i):
print('test_a', i)
await asyncio.sleep(1)
print('test_b', i)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
tasks = [test(i) for i in range(30)]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
# stdout:
# test_a 3
# test_a 14
# test_a 1
# test_a 15
# test_a 2
# test_a 16
# test_a 18
# test_a 0
# test_a 19
# test_a 4
# test_a 20
# test_a 5
# test_a 21
# test_a 6
# test_a 22
# test_a 7
# test_a 23
# test_a 8
# test_a 24
# test_a 17
# test_a 25
# test_a 9
# test_a 26
# test_a 10
# test_a 27
# test_a 11
# test_a 28
# test_a 12
# test_a 29
# test_a 13
# test_b 3
# test_b 14
# test_b 1
# test_b 15
# test_b 2
# test_b 16
# test_b 18
# test_b 0
# test_b 19
# test_b 4
# test_b 20
# test_b 5
# test_b 21
# test_b 6
# test_b 22
# test_b 7
# test_b 23
# test_b 8
# test_b 24
# test_b 17
# test_b 25
# test_b 9
# test_b 26
# test_b 10
# test_b 27
# test_b 11
# test_b 28
# test_b 12
# test_b 29
# test_b 13